为什么istream :: rdbuf()追加新的行符号" \ n"即使输入文件只是C ++中的一个行字符串?

时间:2017-03-01 10:56:49

标签: c++11 istream

假设一个文件" a.txt"它只包含一行字符串,如下所示:

hello world

我不包含任何新的行符号,例如" \ n"。

void loadFileStr(istream& stream, stringstream& strs){
     str << stream.rdbuf();
}

我调用loadFileStr并输出其读取字符串。

int main(){
    stringstream strs;
    ifstream ifs("a.txt",strs);
    loadFileStr(ifs, strs)
    ifs.close();
    std::cout << strs.str(); 
}

然而,

strs.str()

用换行符显示hello world。

hello world
'\n'

(\ n)实际上只是一个空格。

这是rdbuf()功能还是如何在没有任何&#34; \ n&#34;?

的情况下读取此文件?

0 个答案:

没有答案