字符串流中的自定义字符串输入

Custom string input in stringstream

本文关键字:字符串 输入 自定义      更新时间:2023-10-16

我正在编写一个程序,它接受一个字符串,并从该字符串中提取三个数字。下面的代码使用预定义的字符串显示工作程序。我似乎无法弄清楚如何从用户那里获取字符串。我尝试stringstream iss(str)在 main 函数中声明字符串,但这不起作用。

#include<iostream>
#include<string.h>
#include <sstream>
using namespace std;
int main()
{
    int T,j;
    int X,Y,K;
    string s;
        stringstream iss("134 513 515");
    cin>>T;
    for(int i=0;i<T;i++)
    {
        iss>>X>>Y>>K;
        cout<<X<<endl<<Y<<endl<<K<<endl;
        int count=((X+Y)/K);
        if(count%2==0)
        cout<<"Chef ";
        else
        cout<<"Paja ";
    }
    cin>>j;
    return 0;
}

您可以使用 getline 读取字符串,然后将其传递给字符串流

#include<iostream>
#include<string.h>
#include <sstream>
using namespace std;
int main()
{
    int T,j;
    int X,Y,K;
    string s;
    cin>>T;
    cin.ignore();
    for(int i=0;i<T;i++)
    {
        getline(cin, s);
        stringstream iss(s);
        iss>>X>>Y>>K;
        cout<<X<<endl<<Y<<endl<<K<<endl;
        int count=((X+Y)/K);
        if(count%2==0)
        cout<<"Chef ";
        else
        cout<<"Paja ";
    }
    cin>>j;
    return 0;
}

不要忘记cin.ignore() cin>>T;后冲洗cin 缓冲液