c++ - 从文本文件开头的行中删除空格

标签 c++

我有一个 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;
   }
}

最佳答案

您只需要在将其流式传输到 cout 之前修剪 tmp。使用库中您最喜欢的 trim 函数,或编写您自己的函数。

您可以在此处找到修剪功能的一些选项:What's the best way to trim std::string?

一旦你有了修剪功能,并且 Evan Teran 的版本看起来相当不错,你就可以写:

   cin >> tmp;
   getline(cin, tmp);
   cout << trim(tmp) << endl;

关于c++ - 从文本文件开头的行中删除空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6084554/

相关文章:

C++ 20?模块 - 不导出私有(private)

c++ - C++ 中的图形表示

c++ - 简单的 C++ 即时通讯工具

c++ - 逗号运算符返回未更改的值

c++ - 使用 C++ 入口点让 SDL 在 OSX 上工作

c++ - 为什么在某些机器上堆栈溢出,但在另一台机器上出现段错误?

c++ - char vector 可以越界吗?

c++ - 我们可以使用自定义函数扩展现有类吗? (无继承)

c++ - 访问另一个 QThread 中的对象成员

c++ - QFile文本无法输出流