我的意思是这个。假设我们从标准输入中读取了一堆文本,并逐一将其读入字符类型。如果其中一个字符是换行符,显然此变量可以保存有关新行的信息。如果我将此字符推入字符串流,然后将字符串流的内容输出到字符串?
,该怎么办?看来这个新字符串不包含有关换行符的任何数据。
是否有字符串保留此信息?
代码段:
stringstream ssChar;
unsigned char aChar;
string strChar;
sourceFile >> noskipws >> aChar;
ssChar << aChar;
getline(ssChar, strChar);
//ssChar.str("");
//ssChar.seekg(0);
cout << "Next char is: " << (int)aChar << endl;
cout << "Length of char(from stringstream): " << strChar.length() << endl;
输入:带换行符的文件 xxd sourceFile
0000000:0a0a(实际上有2个换行符)..
输出: 下一个字符是:10(ascii换行符) char的长度:0(str为空)
答案 0 :(得分:0)
答案是肯定的。当然,字符串将存储传递给它的字符数据。您的代码中可能存在一些格式化操作,即吃空格或换行符。
答案 1 :(得分:0)
为什么不测试它?
> cat temp.cc
#include<iostream>
using namespace std;
int main()
{
string str="vijay\n";
cout << str <<"this is the next line"<<endl;
return 0;
}
> ./a.out
vijay
this is the next line
>