我有一个C ++代码段,用于删除文本文件中某行的第一个单词,例如
test C:\Windows\System32
download C:\Program Files\test.exe
虽然它删除了第一个单词,但在修剪后还有一个空格,有没有办法停止删除这个空格?
#include <iostream>
using namespace std;
int main()
{
string tmp;
while ( !cin.eof() )
{
cin >> tmp;
getline(cin, tmp);
cout << tmp << endl;
}
}
答案 0 :(得分:1)
您需要先裁剪tmp
,然后再将其发送到cout
。在库中使用您最喜欢的trim
函数,或者自己编写。
您可以在此处找到一些修剪功能选项:What's the best way to trim std::string?
一旦你有修剪功能,并且Evan Teran的版本看起来相当不错,你就可以写下:
cin >> tmp;
getline(cin, tmp);
cout << trim(tmp) << endl;