C++中怎么逐行读取数据

C++中怎么逐行读取数据,第1张

可以使用C++的库函数getline实现。

getline会生成一个包含一串从输入流读入的字符的字符串,直到以下情况发生会导致生成的此字符串结束

1)读到文件结束符;

2)遇到函数指定的结束符;

3)输入达到最大限度。

getline有两种重载:

istream &getline( char *buffer, streamsize num )

istream &getline( char *buffer, streamsize num, char delim )

参数说明:

buffer: 读取的数据将存在buffer中。

num:最多读取陵岩旦num个字符。即之前所说的最大限度。

delim:结束符,当遇到指定的结束符时将结束输入。在第一种重载中,结束符为\n,即遇到换行结束。

所以要实现整行读取,使用第尺扰一种重载就可以了。示例代码如枣脊下:

#include <iostream>

using namespace std

int main()

{

    char buf[1024]//存储的buf。

    while(getline(buf,sizeof(buf)))//读取一行。

    {

        cout << "read line:" <<buf<<endl//输出读取到的数据。

    }

    

    return 0

}

#include <fstream>

#include <iostream>

#include <string>

using namespace std

int main()

{

ifstream in

string name = ""

int age = 0

in.open("abc.txt")

if (!in)

{

cout <闹中正<"打开文件失败!" <<endl

return -1

}

while(!in.eof())

{

in >>培宴 name >>age

cout <<name <液悔<" " <<age <<endl

}

in.close()

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/12454991.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存