编写一个程序,可以读入一个c++源文件,每一行加上行号后保存到另一个后缀为.prn的同名文件中

2024-12-27 16:30:23
推荐回答(3个)
回答1:

你好!看到你写的是读取一个C++源程序,所以我用C++做了一个,也重新学习了一下c++对文件的操作,谢谢。
#include
#include
#include
using namespace std;
int main()
{
string s,name,name1;
cout<<"请输入源c++文件的名称(不含有后缀名):";
cin>>name;
name1=name+".prn";
name+=".cpp";
ifstream read(name.c_str());//读取的文件,用name.c_str()是将string 的char *类型转换成const的类型,不然会出错
fstream write;
write.open(name1.c_str(),ios::trunc/*创建文件*/|ios::out/*写文件*/);//输出的文件,创建文件并写文件
int i=0;
if(!read)
{
cout<<"Cannot open input file\n";
return 0;
}//如果打开输入文件失败
if(!write)
{
cout<<"Cannot open output file\n";
return 0;
}//如果打开输出文件失败
while (getline(read,s))//逐行读取文件中数据到字符串s中
write<<++i< read.close();
write.close();//关闭文件
cout<<"目标文件生成成功!(和源文件同目录)"< return 0;
}

回答2:

C++?那就自己写个readline和writeline函数,C#自己有,具体就是读文件直到读到"\r\n"为一行,写就多加"\r\n",第一行计数变量加一然后用sprintf将数字转成char,写入文件就OK,依次readline,writeline直到文件结尾

回答3:

楼上的写得很清楚了