一、 编写程序,打开一个文件(附件test1.txt),在每一行前加行号,然后存到另一个文件中。 提示:使用getline函数读取行。 #include <iostream> #include <fstream> using namespace std; #include "people.h" #include "student.h" #include "teacher.h" #include "ta.h" int main(int argc, char** argv) { people * ptr[5]; people * pp; ptr[0]=new student("A","Beijing","class1"); pp = ptr[0]; ptr[1]=new teacher("B","Shanghai","Professor","Physics"); ptr[2]=new ta("C","Guangzhou","class2","Lecture","Physics"); ptr[3]=new student("张三","北京","一班"); ptr[4]=new ta("李4","上海","研究生2班","讲师","化学系"); for (int i=0;i<5;i++){ ptr[i]->display(); cout<<endl; } fstream file("data2.txt",ios::out); file.close(); for (int i=0;i<5;i++){ ptr[i]->output(); fstream file("data2.txt",ios::out | ios::app); file<<endl; file.close(); } return 0; }
时间: 2023-07-19 10:42:43 浏览: 287
好的,这里是实现在文件每一行前加行号的代码:
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
fstream fin("test1.txt", ios::in);
fstream fout("test2.txt", ios::out);
int lineNum = 1;
string line;
while (getline(fin, line)) {
fout << lineNum << ": " << line << endl;
lineNum++;
}
fin.close();
fout.close();
return 0;
}
```
这个程序的核心是使用 `getline` 函数从文件中读取每一行,然后将行号和该行内容一起写入新的文件中。需要注意的是,为了避免出现乱码,建议在打开文件时指定文件编码方式。
阅读全文