C++ cout非常奇怪的问题 求解答
代码如下
for ( vector<string>::iterator it = imgList.begin(); it!=imgList.end(); it++)
{
cout<< it-imgList.begin() << '/' << imgTotal <<endl;
cout << " bad format tiff image: " << (*it) <<endl;
}
其中 imgLIst是从txt文件中读取出来的string 的vector ,在进行到cout << " bad format tiff image: " << (*it) <<endl;
这一句的时候,只会输出*it 不会输出 前面的 badformat一串,而如果在badformat之前加入\n只会出现一个空行,仍然不会出现字符串,而如果在冒号后面加入 endl则可以正常输出:
总结下来为:
cout << "\n bad format tiff image: " << (*it) <<endl;失败
cout << " bad format tiff image: "<<endl << (*it) <<endl;成功
我想知道 ,这究竟是什么原因导致的,C++的处理过程究竟是干了什么?
我从来没遇到过这样的问题……
[解决办法]
你的串里带了不该有的\r