• QQ
  • nahooten@sina.com
  • 常州市九洲新世界花苑15-2

技术天地

C++中文件按行读取和逐词读取

原创内容,转载请注明原文网址:http://homeqin.cn/a/wenzhangboke/jishutiandi/2019/0909/633.html

 
#include  
#include  
#include  
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 ;
}

上篇:上一篇:一种std::string的格式化办法
下篇:下一篇:C++中map的用法详解