[原]用c++读取文件,依次读取文件…

来源:互联网 发布:校园不良网络借贷ppt 编辑:程序博客网 时间:2024/06/06 02:42

今天在编代码的时候,需要读取文件,并且要依次识别文件中的单词。查了好多资料,方法挺零碎的。下面进行整理了一下。

首先提供一个作者的逐次读取的方法。原文链接为http://blog.csdn.net/sibo626/article/details/6781036点击打开链接

作者提供了几种方法

  #include 

#include  

#include

 using namespace std;

int main() 
{     ifstream ifs("test.txt");     // 改成你要打开的文件 
 streambuf* old_buffer = cin.rdbuf(ifs.rdbuf());
 string read; 
 while(cin >> read)           // 逐词读取方法一 
 cout << read; 
 cin.rdbuf(old_buffer);       // 修复buffer
 }
[原]用c++读取文件,依次读取文件中的单词


[原]用c++读取文件,依次读取文件中的单词


这四种方法基本可以满足一般的需求了。但是有一个问题,这些方法进行逐次读取后,便很难再去进行换行的判断。由于要求,一行数据保存一个容器了,所以上面这些方法不是太适合了。所以查了下其他的资料,为了满足上边所说的要求,很自然的就会想到先进行一行的读取,然后再对这一行字符串进行单词读取。有了这个思路,就可以开始测试一下是否正确了。
一行读取直接使用getline函数就可以了,这时我们只需再定义一个istringstream变量,就可以对这一行再进行单词识别了,下面直接上代码:








[原]用c++读取文件,依次读取文件中的单词
system("pause");
return -1;
}

0 0