【问题标题】:input many strings in a single line into a vector ? (C++)将单行中的许多字符串输入到向量中? (C++)
【发布时间】:2014-12-01 03:49:23
【问题描述】:

我正在尝试将以下单行输入的单词放入向量中:

int n=0,c=0,f=1;

    cin >> n >> c >> f;
    graph_t g(n);
    vector < vector <string> > hashtable;
    vector <string> hobbies;

    for( int i = 0; i < n ; i++)
    { cout<< i <<endl;
        for( int j = 0; j < c; j++)
        {
            cout<< j <<endl;
            string moo;
            cin >> moo;
            hobbies.push_back(moo);
        }

        sort(hobbies.begin(),hobbies.end());

        hashtable.push_back(hobbies);
    }

我的意见是:

4 3 1
hello hai moo
//(i need to be able to enter3 more lines of similar words,but I cant the program terminates)

我的意见应该是:

4 3 1
hello hai moo
hai ohh hola
oooh hello cii
zzzz meow cii

但是第二行之后没有输入?我应该使用 cin 以外的其他东西吗?

【问题讨论】:

  • 不相关,但您是否打算将所有单词 for all lines 累积在 hobbies 中? (即,由于hobbies decl 的范围,您推送的每个hobbies 将包含输入文件所有先前行中的每个单词)。
  • 我不太明白你在说什么。但是是的,我需要在一行中输入所有单词。
  • 越看越觉得是个巨大的XY problem。你想达到什么目的?如果您要尝试从文本输入构建图表,请...直接说出来!我有很多答案正是这样做的,毫无疑问我可以做出你想要的。但是您的代码示例很神秘,并且对于指定的输入也不会失败:coliru.stacked-crooked.com/a/0330064f51796992
  • 我编辑了我的问题,这是我的错误,我没有在输入中评论,现在应该更清楚了,是的,它是输入到图形中,在输入到图形之前,我采取了各种学生的特征每一行并比较它们,因为我需要将每个单词存储在一个向量条目中,它适用于某些人,就像我在上面所做的那样,它对我不起作用。

标签: c++ string vector line cin


【解决方案1】:

为了矫枉过正:

int main() {
    using namespace boost::spirit::karma;
    std::cout << format_delimited(columns(3) [ *auto_ ], ' ', boost::make_iterator_range(std::istream_iterator<std::string>(std::cin), {}));
}

在 3 列中打印输入单词:

4 3 1 
hello hai moo 
(i need to 
be able to 
enter3 more lines 
of similar words,but 
I cant the 
program terminates) 

Live On Coliru

请注意,逗号不被视为分隔符。

【讨论】:

  • 如果我使用这个,我可以将每个单词以空格分隔的形式存储在一个向量中吗?
  • @LoveMeow 在这种情况下我会使用灵气(解析):coliru.stacked-crooked.com/a/34716611e3685004
  • 等等,你不想3个单词一组吗?如果您只想复制输入字符串:coliru.stacked-crooked.com/a/7e9b448c4a10c86f
  • 对不起,如果这是一个愚蠢的问题,但我不明白,难道没有迭代器就可以吗?
  • 什么应该起作用?如果它“起作用”会怎样?我看到你已经更新了这个问题。现在让我看看
【解决方案2】:

添加标题#include &lt;climits&gt;解决了问题,我也在eclipse中清理了我的项目。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-18
    相关资源
    最近更新 更多