【问题标题】:Getline string input to create a wordgetline 字符串输入创建单词
【发布时间】:2013-07-08 23:19:55
【问题描述】:

我有一个程序,它接收输入并通过字符遍历字符以避免空格。我现在需要做的是获取每个不是空格的字符,并将它们作为单词存储在字符串中。

有人告诉我 getline 存储每个字符,它有记忆:

然后创建一个具有 (!= ' ') 条件的 while 循环,然后使用 string.append('x') 函数将每个字符“添加”到您创建的字符串变量中,直到您有一个单词.

我理解这个概念,但我不知道如何实际操作。

【问题讨论】:

  • 你不能用一个简单的正则表达式来做到这一点吗?即's/ //g'
  • 你在学习渗透吗? Get a C++ book.
  • 如何知道何时停止阅读字符?是回车的时候吗?你想让程序把这个:“a b c d”变成“abcd”吗?
  • 将流程分解成单独的步骤,然后从最小的步骤开始,并查看如何在 C++ 中执行该小步骤。然后继续下一步,直到完成。或者,您可以按照 Jesse Good 的建议去做并阅读 C++ 书籍。

标签: c++ string variables input getline


【解决方案1】:

这是一个简单的应用程序,它接受一个字符串并过滤掉任何空格。

// reading a text file
#include <iostream>
#include <sstream>
#include <fstream>
#include <string>
using namespace std;

int main () {
  string input;
  stringstream filter;
  cout << "Enter a string \n";
  cin >> input;
  for(int i = 0; i<input.length(); i++){
      if(input.at(i)!=' '){ //Chech to see is it a space or not
          filter << input.at(i); //If not a space add to the stringstream filter
      }
  }
  string output = filter.str(); //Final string with no spaces

  return 0;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-18
    • 2018-11-19
    • 1970-01-01
    相关资源
    最近更新 更多