在C ++中从字符串中删除空格

时间:2014-01-23 09:50:37

标签: c++ whitespace getline

我正在尝试做一些我认为非常简单的事情,但我是C / C ++的新手,所以它证明有点棘手。 本质上,我试图从.txt中包含的数据中删除单个空格。每条数据都在一个单独的行上:

01011 0
11100 1
00001 0

等等。我已经能够计算行数和每个字符串的大小(包括空格),但我想丢失数据中的空白。 我在中读取数据的代码(包括空格如下):

std::ifstream myfile ("random.txt");
std::string str; 
if(myfile.is_open())
                {
                while (std::getline(myfile, str))
                    {
                    i++;
                    Size = str.size();
                    data_input[i] = str;
                    line_num = i;
                    array_count = line_num * Size;
                    } 
                i = 0;
                }

我看过各种其他帖子,但似乎找不到符合我想要实现的目标。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

str.erase(str.find(' '), 1);

说明:

  1. str.find的调用会返回空格的位置(索引)。
  2. str.erase的调用将从该位置开始删除一个字符。