【问题标题】:how to find empty spaces and split it and then store in a variables in C++如何找到空格并将其拆分然后存储在C ++中的变量中
【发布时间】:2018-04-07 14:39:04
【问题描述】:

我正在从一个文件读取到我的数组,该数组包含我正在读取的文本中的一个列表,其中包含两个由空格分隔的单词的行 我如何检测这个空间,以便我可以将每个单词存储在 C++ 中的单独变量中?

【问题讨论】:

  • 使用 std::istringstream 并使用流读取单词。
  • 普通的旧 >> 不会以任何不同的方式处理空格或换行符。除了while (file >> temp) vec.push_back(temp);,你可能不需要做任何事情

标签: c++ arrays string arraylist


【解决方案1】:

您可以使用在标题<sstream> 中定义的std::istringstream 从字符串中读取单独的单词。

这是一个演示程序

#include <iostream>
#include <sstream>
#include <string>
#include <vector>

int main() 
{
    std::string a[] =
    {
        "A B", "C D", "E F"
    };

    std::vector<std::string> v;

    for ( const auto &s : a )
    {
        std::istringstream is( s );

        std::string item;

        while ( is >> item ) v.push_back( item );
    }

    for ( const auto &s : v ) std::cout << s << ' ';
    std::cout << std::endl;

    return 0;
}

它的输出是

A B C D E F 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-25
    • 1970-01-01
    • 2014-06-20
    • 1970-01-01
    • 2015-12-27
    • 2019-06-06
    相关资源
    最近更新 更多