[英]can two strings separated by space be passed to a function? need explanation
[英]Can't Read in two strings separated by a space
我試圖讀取兩個字符串,並用空格隔開。
CIN >>一; CIN >> B;
從技術上講這應該起作用。 我也使用過getline,但是它似乎不起作用。 它讀入某些輸入,而卡在其他輸入上
編輯:添加了C ++標記,保留了C標記,因為它是原始帖子的一部分。
這個:
#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"
。
我也使用過getline,但是它似乎不起作用。 它讀入某些輸入,而卡在其他輸入上
我正在嘗試回答這一部分。 cin是否正在使用Enter鍵進行第二次輸入?
您可以嘗試以下方式
#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;;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.