1 回答

TA貢獻1816條經(jīng)驗 獲得超4個贊
可以使用C++的庫函數(shù)getline實現(xiàn)。
getline會生成一個包含一串從輸入流讀入的字符的字符串,直到以下情況發(fā)生會導致生成的此字符串結(jié)束。
1)讀到文件結(jié)束符;
2)遇到函數(shù)指定的結(jié)束符;
3)輸入達到最大限度。
getline有兩種重載:
istream &getline( char *buffer, streamsize num );
istream &getline( char *buffer, streamsize num, char delim );
參數(shù)說明:
buffer: 讀取的數(shù)據(jù)將存在buffer中。
num:最多讀取num個字符。即之前所說的最大限度。
delim:結(jié)束符,當遇到指定的結(jié)束符時將結(jié)束輸入。在第一種重載中,結(jié)束符為\n,即遇到換行結(jié)束。
所以要實現(xiàn)整行讀取,使用第一種重載就可以了。示例代碼如下:
#include <iostream>
using namespace std;
int main()
{
char buf[1024];//存儲的buf。
while(getline(buf,sizeof(buf)))//讀取一行。
{
cout << "read line:" <<buf<<endl;//輸出讀取到的數(shù)據(jù)。
}
return 0;
}
- 1 回答
- 0 關注
- 151 瀏覽
添加回答
舉報