C++编写程序,用二进制方式打开指定的一个文件,在每一行前加行号
时间: 2023-11-28 08:50:28 浏览: 404
下面是一个简单的C++程序,可以实现在文件的每一行前加上行号的操作:
```cpp
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
int main()
{
string filename = "example.txt"; // 指定文件名
ifstream fin(filename, ios::binary); // 以二进制方式打开文件
ofstream fout("output.txt", ios::binary); // 打开输出文件
if (!fin) {
cerr << "Failed to open input file!" << endl;
return -1;
}
if (!fout) {
cerr << "Failed to open output file!" << endl;
return -1;
}
int lineno = 1;
string line;
while (getline(fin, line)) { // 读取文件每一行
fout << setw(3) << setfill('0') << lineno++ << " "; // 输出行号,宽度为3,不足部分用0填充
fout.write(line.c_str(), line.size()); // 输出行内容
fout << endl; // 换行
}
fin.close();
fout.close();
return 0;
}
```
这个程序使用了 `ifstream` 和 `ofstream` 来打开文件,其中 `ifstream` 是以二进制方式打开指定的文件,而 `ofstream` 则是打开输出文件。程序先检查了文件是否成功打开,然后使用 `getline` 函数逐行读取文件内容,同时输出行号和行内容到输出文件中。最后关闭文件并返回0表示程序正常结束。
阅读全文