编写c++程序,用二进制方式打开指定的一个文件,在每一行前加行号.编写程序 lab11_2.cpp 使用 int main(int argc,char * argv[])函数中的参数传递操作的文件名,声明 ofstream 的对象对文件进行操作,使用 getline 成员函数读入数据,使用cout 输出字符到文件。
时间: 2024-03-09 19:47:27 浏览: 23
好的,以下是 lab11_2.cpp 的代码实现:
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(int argc, char *argv[]) {
if (argc != 2) {
cout << "Usage: " << argv[0] << " filename" << endl;
return 1;
}
ifstream fin(argv[1], ios::binary);
if (!fin) {
cout << "Failed to open file " << argv[1] << endl;
return 1;
}
string line;
int line_num = 1;
ofstream fout("output.txt", ios::binary);
if (!fout) {
cout << "Failed to open output file" << endl;
return 1;
}
while (getline(fin, line)) {
fout << line_num << ": " << line << endl;
line_num++;
}
fin.close();
fout.close();
cout << "Done." << endl;
return 0;
}
```
这个程序会读入一个文件名,然后使用 ifstream 对象以二进制方式打开该文件。然后,它会逐行读取文件内容,每一行前加上行号,最后将修改后的内容输出到一个名为 "output.txt" 的文件中。
注意,我们使用了 ofstream 对象来输出数据到文件,而不是 cout 对象。这样做是因为我们需要以二进制方式打开文件,同时使用 cout 对象输出数据会导致数据被格式化,而不是以原始的二进制形式输出。