我想用c ++读取文件中的字符串。 输入字符串如:"文件:blacksburg.asc" 我需要在"之后读取字符串:" 我的部分代码如下:
void mapWalk( string input, string output ){
ifstream in(input.c_str());
string line;
string mapdata = "";
getline(in,line);
int pos = line.find(":");
mapdata = line.substr(pos);
cout<<"The string is"<< mapdata <<"&&" << endl;
}
&#13;
输出显示如下: &amp;&amp; e string是:blacksburg.asc
这是有线的!! 为什么&amp;&amp;是在字符串的开头,覆盖另一个?
有人有想法吗?
答案 0 :(得分:0)
mapdata
末尾有一个回车符。所以你输出&#34;字符串是&#34;,然后是mapdata
的内容,包括回车。然后在前一个文本的顶部输出&&
,因为您返回了没有换行符的托架。
阅读getline
的文档。它指定不删除行结尾。