【发布时间】:2011-09-17 06:49:35
【问题描述】:
我正在尝试使用模板函数从用户那里获取输入。我希望能够输入 int、double、float 和字符串。所以这是我到目前为止的代码:
template<class DataType>
void getInput(string prompt, DataType& inputVar)
{
cout << prompt;
cin >> inputVar;
}
int main()
{
string s;
int i;
float f;
double d;
getInput("String: ", s);
getInput("Int: ", i);
getInput("Float: ", f);
getInput("Double: ", d);
cout << s << ' ' << i << ' ' << f << ' ' << d << endl;
return 0;
}
基本类型都可以,但我遇到的问题在于输入strings。我希望能够输入多个单词,但事实上我使用的是 cin 我不能。那么是否可以以类似于我正在做的方式输入多词字符串以及基本类型?
【问题讨论】:
-
使用 cin.getline() 然后你可以在你的程序中拆分单词
-
但是我会失去正确输入整数、浮点数和双精度数的能力?
-
看我的回答,第二个链接可能有用。