编写程序,用二进制方式打开指定的一个文件,在每一行前加行号,用C++实现
时间: 2024-02-17 10:04:09 浏览: 103
C++ 二进制读写文件的方法
可以使用C++中的fstream库来实现。下面是一个简单的示例代码:
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
string filename = "example.txt"; // 指定文件名
ifstream fin(filename, ios::binary); // 以二进制方式打开文件
ofstream fout("output.txt"); // 打开输出文件
if (fin.is_open()) { // 如果文件成功打开
int line_num = 1; // 初始化行号为1
string line;
while (getline(fin, line)) { // 逐行读取文件内容
fout << line_num << ": " << line << endl; // 写入带行号的内容到输出文件
line_num++; // 行号自增
}
fin.close(); // 关闭输入文件
fout.close(); // 关闭输出文件
cout << "处理完成!" << endl;
}
else { // 如果文件打开失败
cout << "无法打开文件!" << endl;
}
return 0;
}
```
在这个例子中,我们使用了`ifstream`和`ofstream`类来分别读取和写入文件。`ifstream`用于以二进制方式打开指定的文件,而`ofstream`用于打开输出文件。在读取文件内容时,我们使用了`getline`函数来逐行读取文件。然后我们将每行内容写入到输出文件中,加上行号。最后,我们关闭了输入文件和输出文件。
请注意,这个例子中我们假设输入文件的每行都不超过缓冲区大小。如果一行的长度超过了缓冲区大小,那么`getline`函数会自动分割这一行。如果你需要处理超长行,可以考虑使用`getline`函数的其他版本。
阅读全文