C++怎么在txt文件读取中一行一行的读内容

例: 丽丽 战三 王五
小明 空三
第一次一次性读出(丽丽 战三 王五),依次读( 小明 空三)。
不要网上的答案,因为网上的有错,求大侠指教。

//在工程下面建立一个文件 xiaojiba.txt

#include <iostream>

#include<string>

#include<fstream>


using namespace std;


int main()

{


   cout<<"input the filename:"<<endl;

   string filename;

   cin>>filename;

   ifstream infile(filename.c_str());

   string temp;

   while(getline(infile,temp))

   {

   cout<<temp<<endl;

   }

    cout << "Hello world!" << endl;

    return 0;

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-05-21
#include<stdio.h>
char buf[512];
int main()
{
    while(fgets(buf,sizeof(buf),stdin)) fputs(buf,stdout);
    return 0;
}

重定向输入流命令行: prog <prog.c

第2个回答  2015-11-20

可以使用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;
}

c++如何读取txt的数据(一行一行的读,从第一行读到最后一行)要详细代 ...
C++读取txt文本数据并一行一行的读方法如下:1、使用C++提供输入输出流的getline函数可以实现整行读取;完整代码如下:include<iostream>#include<fstream>using namespace std;int main(){ \/\/ 定义输入文件流类对象infileifstream infile("test.txt",ios::in);if(!infile){ \/\/ 判断文件是否存在 ce...

C++怎么在txt文件读取中一行一行的读内容
\/\/在工程下面建立一个文件 xiaojiba.txt include <iostream> include<string> include<fstream> using namespace std;int main(){ cout<<"input the filename:"<<endl;string filename;cin>>filename;ifstream infile(filename.c_str());string temp;while(getline(infile,temp)){ cout<<temp<<e...

C++如何一行一行读取txt文件中数据并存入相应数组?
循环读入。c 程序 可作为 c++程序。include<iostream> include<fstream> using namespace std;include <stdio.h> main(){ int x[5],y[5];int i;FILE *fp;fp=fopen("sk.txt","r");for (i=0;i<5;i++) fscanf(fp,"%d",&x[i]);for (i=0;i<5;i++) fscanf(fp,"%d",&y[i...

C++的如何在打开一个文本后,一行一行的读取内容?
第8行: std::ifstream fin("split.txt", std::ios::in); 定义读取的文本文件。第9行: char line[1024] = {0}; 用于定义读取一行的文本的变量。第10--12行,定义了 x y z 三个字符串变量,用于存放读取一行数据后,分别存放每行的三个数据。第13--22行,用一个循环读取每行数据,读...

C++怎么读取txt中的空格和换行
可以按行来输出的.ifstream infile("*.txt");\/\/用来打开文件 string s;\/\/存储返回的字符串,即一行的内容 while(getline(infile,s)){ cout<<s<<endl;} 就可以输出了.

怎么用C++在文本中读取一行或多行指定的数据?
1、fgets函数:原型:char * fgets(char * buf, int bufsize, FILE * stream);功能:从文件结构体指针stream中读取数据,每次读取一行;说明:读取的数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufsize个字符赋值为\\0)。如果该行不足bufsize个字符,则读完该行就结束,如果该行...

C++读取TXT 怎样每次读一行,循环读下一行
可以用getline函数,举个例子如下(从b.txt中按行循环读取内容):include <iostream>#include <fstream>#include <string>using namespace std;int main(){int cnt=0;string str;ifstream fin("b.txt", ios::in);if(!fin){printf("The file is not exist!");return -1;}while(getline(fin, ...

C\/C++如何读取TXT文件的行数和把TXT文件的内容存到数组中
C语言读取TXT文件的行数并把把TXT文件的内容存到数组中,需要根据每行的内容(字符,数字,字符串)选取fgets、fscanf或者fgets。这里假设每行是一个字符串,每行不超过127个字符(用数组存字符串,最后一位存'\\0'),选取fgets进行读取。示例代码如下:include <stdio.h>#include <stdlib.h>int main...

C++如何逐行读取txt文件,并将读取出来的数据进行运算导入到另一个文件...
1、首先我们在电脑上新建一个文件夹,名称叫txt2array。然后,打开我们的devc++,新建一个控制台c++项目,名称也叫txt2array。2、将项目文件及源代码文件以及我们演示用的数据文件都存放在txt2array文件夹中。3、向数据文件中写入一些演示用数据。4、读取文件。输入如下代码:运行下,看来我们读取成功了...

如何用C++从一个TXT文件中逐行读取数据
using namespace std;int main(int argc,char* argv[]){ \/\/将f设置为要按行读取的文本文件名 char f[]="t.txt",buf[1024]={'\\0'};ifstream inf(f,ios_base::in);string line;while(!inf.eof()){ inf.getline(buf,1024);cout<<buf<<endl;} cout<<endl;inf.close();inf.open(f...

相似回答