2. 编写一个程序,读入一个C++语言的源文件,每一行加上行号后保存到另一个后缀为.txt的同名文件中,同时输出到屏幕上。
时间: 2024-02-03 09:12:35 浏览: 91
以下是实现上述功能的C++代码:
```cpp
#include <iostream>
#include <fstream>
#include <string>
int main()
{
std::string filename;
std::cout << "请输入C++源文件名(带后缀):" << std::endl;
std::cin >> filename;
std::ifstream infile(filename);
if (!infile)
{
std::cerr << "无法打开文件 " << filename << " 。" << std::endl;
return 1;
}
std::string output_filename = filename.substr(0, filename.find_last_of('.')) + ".txt";
std::ofstream outfile(output_filename);
if (!outfile)
{
std::cerr << "无法创建文件 " << output_filename << " 。" << std::endl;
return 1;
}
std::string line;
int line_number = 1;
while (std::getline(infile, line))
{
std::cout << line_number << ": " << line << std::endl;
outfile << line_number << ": " << line << std::endl;
++line_number;
}
std::cout << "已将每一行加上行号后保存到文件 " << output_filename << " 中。" << std::endl;
return 0;
}
```
该程序首先要求用户输入C++源文件名,然后打开该文件并读取每一行,加上行号后输出到屏幕和输出文件中。输出文件名与输入文件名相同,只是后缀为.txt。如果无法打开输入文件或无法创建输出文件,则输出错误信息。最后输出处理完成的提示信息。
阅读全文