c++使用getline和ifstream读取文件

  #include  <   iostream   >  
 #include 
<   fstream   >  
 #include 
<  string >  
 
 
using   namespace   std;
 
 
//   输出空行  
 
void   OutPutAnEmptyLine()
 
{
      cout
 << " /n " ;
 }
 

 
 
//   读取方式: 逐词读取, 词之间用空格区分
 
//   read data from the file, W ord B y W ord
 
//   when used in this manner, we'll get space-delimited bits of text from the file
 
//   but all of the whitespace that separated words (including newlines) was lost. 
 
void   ReadDataFromFileWBW()
 
{
      ifstream fin(
 " data.txt " );  
     
 string s;  
     
 while ( fin >> s ) 
     
 {    
          cout 
<< " Read from file: " << << endl;  
      }
 
 }
 

 
 
//   读取方式: 逐行读取, 将行读入字符数组, 行之间用回车换行区分
 
//   If we were interested in preserving whitespace, 
 
//   we could read the file in L ine-B y-L ine using the I/O getline() function.  
 
void   ReadDataFromFileLBLIntoCharArray()
 
{
      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;
      }
 
 }
 

 
 
//   读取方式: 逐行读取, 将行读入字符串, 行之间用回车换行区分
 
//   If you want to avoid reading into character arrays, 
 
//   you can use the C++ string getline() function to read lines into strings  
 
void   ReadDataFromFileLBLIntoString()
 
{
      ifstream fin(
 " data.txt " );  
     
 string s;  
     
 while ( getline(fin,s) )
     
 {    
          cout 
<< " Read from file: " << << endl; 
      }
 
 }
 

 
 
//   带错误检测的读取方式
 
//   Simply evaluating an I/O object in a boolean context will return false 
 
//   if any errors have occurred  
 
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 ;
 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值