2. 编写一个程序,读入一个C++语言的源文件,每一行加上行号后保存到另一个后缀为.txt的同名文件中,同时输出到屏幕上。
时间: 2024-02-13 21:02:48 浏览: 19
好的,这是一个比较简单的程序,我可以帮你完成。首先,你需要使用 C++ 的文件输入输出流来读取和写入文件,具体可以使用 `<fstream>` 头文件。代码如下:
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
string filename;
cout << "请输入源文件名:" << endl;
cin >> filename;
// 打开源文件
ifstream infile(filename);
if (!infile.is_open()) {
cout << "源文件打开失败!" << endl;
return -1;
}
// 打开目标文件
string output_filename = filename.substr(0, filename.find_last_of('.')) + ".txt";
ofstream outfile(output_filename);
if (!outfile.is_open()) {
cout << "目标文件创建失败!" << endl;
return -1;
}
// 逐行读取并加上行号输出
string line;
int line_count = 1;
while (getline(infile, line)) {
// 写入目标文件
outfile << line_count << ":\t" << line << endl;
// 输出到屏幕
cout << line_count << ":\t" << line << endl;
line_count++;
}
// 关闭文件
infile.close();
outfile.close();
cout << "转换完成!目标文件名为:" << output_filename << endl;
return 0;
}
```
这个程序会先让你输入源文件名,然后打开源文件和目标文件,逐行读取源文件并加上行号后写入目标文件和输出到屏幕上,最后关闭文件。需要注意的是,这个程序仅适用于 Windows 系统中的 C++ 源文件,如果在其他系统或者其他语言中使用可能需要做一些修改。