[英]String not printing using std::cout
尝试打印readdata
字符串的内容时,结果与预期不符,但是,如果我单独打印出“行”的内容,则会打印正确的结果:
std::string line;
std::string readdata;
std::ifstream file(filename);
if (file.is_open())
{
for (int i=0;std::getline(file,line) && i<10;i++)
{
std::cout<<line<<std::endl; //Prints correct result for each instance.
readdata.append(line);
if (i!=9)
{
readdata.append(" ");
}
}
std::cout<<readdata<<std::endl; //Prints garbled result.
file.close();
}
正在读取的文本文件包含以下数据:
#+/084&"
#3*#%#+
8%203:
,1$&
!-*%
.#7&33&
#*#71%
&-&641'2
#))85
9&330*
'line'的打印将打印此内容,但是当readdata
打印时,结果为:
9&330*'2
我认为您在每一行的末尾都得到一个'\\r'
。
readdata.append(line.substr(0, line.find("\r")));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.