我正在用C++阅读一个文本文件.由于我是C++的新手,我添加了一堆"cout"语句来查看事物的行为.我得到了一个输出,我没有找到任何解释,希望这里有人能指出我的相关文字.
问题:(a)(3)的输出似乎是一个转义序列(不可打印的字符).如果我将子串的长度从2更改为4,我得到一个/.(b)即使"mybuffer"的内容看起来正确(前两个字符确实是//),子字符串函数只返回七个(可打印的)字符.
while( std::getline( file, line ) )
{
foundeq = 0;
clearthis = 0;
mybuffer = line;
cout<< "line>>" << line<<"\n";
cout<<"first 2 chars in line>>"<<line.substr(0,2)<<"\n";
cout<< "mybuffer>>" << mybuffer<<"\n";
cout<<"first 10 chars in mybuffer>>"<<mybuffer.substr(0,10)<<"\n";
Run Code Online (Sandbox Code Playgroud)
输出:
line>>//--------------------------------------------------
first 2 chars in line>>\357\273
mybuffer>>//--------------------------------------------------
first 10 chars in mybuffer>>//-----
Run Code Online (Sandbox Code Playgroud)
到底是怎么回事??
提前感谢您的意见.
| 归档时间: |
|
| 查看次数: |
109 次 |
| 最近记录: |