我试图用空格分隔两个字符串。
CIN>>一种; CIN>> B;
这应该在技术上有效。我也使用了getline,但似乎没有用。 它读入了一些输入并被卡在其他输入上
编辑:添加了C ++标记,保留了C标记,因为它是原始帖子的一部分。
答案 0 :(得分:4)
这:
#include <iostream>
#include <sstream>
int main()
{
std::istringstream iss("wrgl zrgl");
std::string s1, s2;
iss >> s1 >> s2;
std::cout << '"' << s1 << "\" \"" << s2 << "\"\n";
return 0;
}
在我的机器上编译,运行和打印"wrgl" "zrgl"
。
答案 1 :(得分:0)
我也使用过getline但它似乎没有用。它读入了一些输入并被卡在其他输入上
我想回答这一部分。 cin是否输入密钥进行第二次输入?
您可以尝试以下方式
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
cout << "Enter name1 :";
string name1;
getline(std::cin, name1);
cout << "Enter name2 :";
string name2;
getline(std::cin, name2);
if (name2.empty()) getline(std::cin, name2);
cout << endl << "Input Name1 :" << name1 << endl << "Input Name2 :" << name2;
return 0;
}
或者您可以使用 endl 来刷新流
void GettingTwoStrings2()
{
cout << "Enter name1 :" << endl;
string name1;
getline(std::cin, name1);
cout << "Enter name2 :" << endl;
string name2;
getline(std::cin, name2);
cout << endl << "Input Name1 :" << name1 << endl << "Input Name2 :" << name2 << endl;;
}