C++ getline函数用法
现有一个“input.txt”,如何使用getline函数一行一行读取文本呢?希望给出关键部分的代码,谢谢!...
现有一个“input.txt”,如何使用getline函数一行一行读取文本呢?
希望给出关键部分的代码,谢谢! 展开
希望给出关键部分的代码,谢谢! 展开
展开全部
额。。。这个是getline函数的原型及解释 怎么看着和你程序用法不太一样,特别是第二个参数的用法。。。尴尬。。。
istream &getline( char *buffer, streamsize num, char delim );
getline()函数用于输入流,读取字符到buffer中,直到下列情况发生:
num - 1个字符已经读入,
碰到一个换行标志,
碰到一个EOF,
或者,任意地读入,直到读到字符delim。delim字符不会被放入buffer中。
这个是eof的原型和解释 还有一个小例子
语法:
bool eof();
如果到达相关联的输入文件的末尾,eof()函数返回true,否则返回false。
例如:
char ch;
ifstream fin( "temp.txt" );
while( !fin.eof() ) {
fin >> ch;
cout << ch;
}
fin.close();
istream &getline( char *buffer, streamsize num, char delim );
getline()函数用于输入流,读取字符到buffer中,直到下列情况发生:
num - 1个字符已经读入,
碰到一个换行标志,
碰到一个EOF,
或者,任意地读入,直到读到字符delim。delim字符不会被放入buffer中。
这个是eof的原型和解释 还有一个小例子
语法:
bool eof();
如果到达相关联的输入文件的末尾,eof()函数返回true,否则返回false。
例如:
char ch;
ifstream fin( "temp.txt" );
while( !fin.eof() ) {
fin >> ch;
cout << ch;
}
fin.close();
展开全部
#incluude <fstream>
#include <iostream>
#include <string>
using namespace std;
int main()
{
ifstream in("input.txt");
if(!in)
{
cerr << "some errors happened";
return -1;
}
string str;
while(getline(in, str))
{
cout << str << endl;
}
return 0;
}
#include <iostream>
#include <string>
using namespace std;
int main()
{
ifstream in("input.txt");
if(!in)
{
cerr << "some errors happened";
return -1;
}
string str;
while(getline(in, str))
{
cout << str << endl;
}
return 0;
}
追问
不好意思,C++可以定义“string”类型吗?如果不能应该怎么办,使用数组吗?怎么写呢?
追答
额?C++显然可以定义string类型!
如果你不想用string类型,下面这个链接中的例子可以给你想要的答案。
http://www.cplusplus.com/reference/iostream/istream/getline/
祝好。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询