本文主要是介绍C++中文件按行读取和逐词读取,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
#include <iostream>
#include <fstream>
#include <string>using namespace std;void OutPutAnEmptyLine()//输出空行
{
cout<< "\n" ;
}//读取方式: 逐词读取, 词之间用空格区分
void ReadDataFromFileWBW()
{
cout<<"逐词读取, 词之间用空格区分"<<endl;
ifstream fin( "data.txt" );
string s;
while ( fin >> s ) {
cout << "Read from file: " << s << endl; }
}//读取方式: 逐行读取, 将行读入字符数组, 行之间用回车换行区分
void ReadDataFromFileLBLIntoCharArray()
{
cout<<"逐行读取, 将行读入字符数组, 行之间用回车换行区分"<<endl;
ifstream fin( "data.txt" );
const int LINE_LENGTH = 100 ;
char str[LINE_LENGTH];
while ( fin.getline(str,LINE_LENGTH) )
{
cout << "Read from file: " << str << endl;
}
}//读取方式: 逐行读取, 将行读入字符串, 行之间用回车换行区分
//相比较上种方法,该种方法比较灵活,推荐使用
void ReadDataFromFileLBLIntoString()
{
cout<<"逐行读取, 将行读入字符串, 行之间用回车换行区分"<<endl;
ifstream fin( "data.txt" );
string s;
while ( getline(fin,s) )
{
cout << "Read from file: " << s << endl;
}
}//带错误检测的读取方式
void ReadDataWithErrChecking()
{string filename = "dataFUNNY.txt" ; ifstream fin( filename.c_str()); if ( !fin ) {
cout << "Error opening " << filename << " for input" << endl;
exit(- 1 ); }
}int main()
{
ReadDataFromFileWBW(); //逐词读入字符串
OutPutAnEmptyLine(); //输出空行ReadDataFromFileLBLIntoCharArray(); //逐词读入字符数组
OutPutAnEmptyLine(); //输出空行ReadDataFromFileLBLIntoString(); //逐词读入字符串
OutPutAnEmptyLine(); //输出空行ReadDataWithErrChecking(); //带检测的读取
return 0 ;
}
本文转自[http://blog.csdn.net/zhangchao3322218/article/details/7930857]
这篇关于C++中文件按行读取和逐词读取的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!