繁体   English   中英

字符串未使用std :: cout打印

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM