当前位置:网站首页 > 技术博客 > 正文

getline会读取空格吗



#include < iostream >
#include

< fstream >
#include

<

string

>






using namespace std;






// 输出空行


void OutPutAnEmptyLine()


{
    cout

<<" ";
}








// 读取方式: 逐词读取, 词之间用空格区分


// read data from the file, Word By Word


// 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: " << s << endl;  
    }


}








// 读取方式: 逐行读取, 将行读入字符数组, 行之间用回车换行区分


// If we were interested in preserving whitespace,


// we could read the file in Line-By-Line 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: " << s << 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;
}

  • 上一篇: clr profiler
  • 下一篇: seek怎么用
  • 版权声明


    相关文章:

  • clr profiler2025-06-05 18:30:02
  • 交换机模拟器哪个好用2025-06-05 18:30:02
  • 灰度发布系统设计2025-06-05 18:30:02
  • java手机模拟器2025-06-05 18:30:02
  • 分布式缓存技术2025-06-05 18:30:02
  • seek怎么用2025-06-05 18:30:02
  • sql聚合函数sum的功能是2025-06-05 18:30:02
  • 网络调试助手app源码2025-06-05 18:30:02
  • linux发行版大全2025-06-05 18:30:02
  • okhttp官方文档2025-06-05 18:30:02