c++用二进制方式打开指定文件并添加行号
时间: 2024-01-31 16:02:52 浏览: 70
可以使用`fstream`库打开文件,然后使用流操作符`<<`向文件中写入行号和内容。以下是一个示例代码:
```c++
#include <fstream>
#include <iostream>
using namespace std;
int main() {
ifstream in("input.txt", ios::binary); // 以二进制方式打开文件
ofstream out("output.txt", ios::binary); // 以二进制方式打开文件
int line_num = 1;
string line;
while (getline(in, line)) { // 逐行读取文件内容
out.write(reinterpret_cast<const char*>(&line_num), sizeof(line_num)); // 写入行号
out.write(line.c_str(), line.size()); // 写入内容
line_num++;
}
in.close();
out.close();
return 0;
}
```
在这个示例中,我们使用`fstream`库中的`ifstream`和`ofstream`类分别打开输入和输出文件。这里使用`ios::binary`标志来指示以二进制方式打开文件。接下来,我们逐行读取输入文件的内容,并将行号和内容写入输出文件。
注意,这里我们使用了`reinterpret_cast`来将`int`类型的行号强制转换为`const char*`类型的指针,以便使用`write()`函数将其写入输出文件。
阅读全文