c++关于eof及getline的用法

2024-12-03 18:43:33
推荐回答(3个)
回答(1):

额。。。这个是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();

回答(2):

1、istream &getline( char *buffer, streamsize num, char delim );
getline()函数用于输入流,读取字符到buffer中,直到下列情况发生:
num - 1个字符已经读入,
碰到一个换行标志,
碰到一个EOF,
或者,任意地读入,直到读到字符delim。delim字符不会被放入buffer中。

2、这eof的原型和解释 :
语法:
  bool eof();
如果到达相关联的输入文件的末尾,eof()函数返回true,否则返回false。
例如:

    char ch;
    ifstream fin( "temp.txt" );
    while( !fin.eof() ) {
      fin >> ch;
      cout << ch;
    }
    fin.close();

回答(3):

1、c++示例:

#include
#include
using namespace std;
int main()
{
string textline[200];//欲读200行,自己定义 
int i=0,ii=0;
ifstream fin("d:/test.txt");
for(;!fin.eof();)//非文件尾部继续读
{
    getline(fin,textline[i],'\n');//遇到换行符读一行。
    i++;
}
for(int ii=0;ii cout<
return 0;
}

2、eof()读到文件尾部返回真,非文件尾部返回假。

3、getline()按行读取文本。