c++读入文件时getline函数怎么使用?

getline函数的三个参数各是什么意思?我要用getline函数从文件读入一份试卷,题目有选择题,填空题等多种。getline怎么区分一个题目读完了?可以在每个题目后面带个$符号, 然后用getline实现吗?

getline常用的就两种用法:

1.getline(input,str);
2.getline(input,str,delim);

input就是从哪里读入,通常是cin

str是你的读入字符串,

delim是分隔符。

例如:

string str;
getline(cin,str,'\n'); //用换行符分割每行

然后判断读入完成也是容易的,

直接用返回值就好了。

例如:

string str;
while(getline(cin,str))
{
    cout<<str;
}

追问

SeqList se;
ifstream ifile;
ifile.open("c:\\myfiletimu.txt");
while (ifile.getline(s,10000,'$'))
{
se.Insert(s,i);
i++;
}
ifile.close();
这样读入一张试卷(.txt)文档的问题在哪儿?每个题目后面都加了$

追答

你的代码不完全,不过估计是因为,char* s, seqlist se,引起的,
因为你的SeqList只是保存字符串地址的。
最终你得到全部一样的最后一题。

你改成SeqList就好了。

温馨提示:答案为网友推荐,仅供参考
相似回答