【问题标题】:how do i extract multiple substrings from a single string separated by space?如何从以空格分隔的单个字符串中提取多个子字符串?
【发布时间】:2017-03-19 16:33:48
【问题描述】:

我试图解决这个问题https://a2oj.com/p?ID=24

我的初始代码(只测试输入部分)

#include<iostream>
using namespace std;

int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        int l;
        string input;
        cin>>l>>input;

        string texts[l];

        int c=0;
        for(int i=0;i<input.size();i++)
        {
            if(input[i]==' ')
                {c++;continue;}
            else
            {
                texts[c]=texts[c]+input[i];
            }
        }

        for(int i=0;i<l;i++)
            cout<<texts[i]<<endl;
    }
    return 0;
}

它只扫描直到它收到第一个''(空格),而不是其他子字符串。

【问题讨论】:

  • std::cin::operator&gt;&gt; 就是这样工作的。如果您想阅读整行,请考虑使用std::getline。

标签: c++ arrays string character-encoding


【解决方案1】:

你可以使用 getline();

在这段代码中,我使用't'作为分隔符,你可以使用空格“”或任何你想要的

示例代码

#include <iostream.h>

void main()
{
   char line[100];
   cout << " Type a line terminated by 't'" << endl;
   cin.getline( line, 100, 't' );
   cout << line;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-20
    • 2014-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-09
    • 1970-01-01
    相关资源
    最近更新 更多