【问题标题】:Removing a space from lines in the beginning of a text file从文本文件开头的行中删除空格
【发布时间】:2011-08-30 09:13:53
【问题描述】:

我有一个 C++ sn-p 可以删除文本文件中一行的第一个单词,例如

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;
   }
}

【问题讨论】:

  • 这不是 C,这是 C++。它们是有区别的。如果我看到另一个混淆这两者的问题,我会发疯的 regex-Cthulhu。
  • 另外,这不是寡妇,是窗户!
  • eof problem c++ 的可能重复项
  • 这几乎不是 Windows 特定的、不必要的标签。

标签: c++


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-10
    • 2021-01-23
    • 2013-10-14
    • 2015-10-23
    • 2012-03-07
    • 1970-01-01
    • 2021-08-14
    • 1970-01-01
    相关资源
    最近更新 更多