所以假设我要输入一行,例如:
12345我叫Foo
我想将12345存储为一个整数,并将“我的名字为Foo”存储为一个字符串。我知道有一个功能std :: getline,但这包括整行。另外,“我的名字叫Foo”包含空格,因此它并不那么简单。那我该怎么做呢?谢谢,我是C ++的新手。
int i;
std::string s;
std::cin >> ...
所以,如果我输入:
12345我叫Foo
然后我= 12345,并且s =“我叫Foo”
答案 0 :(得分:0)
您可以同时使用std::cin
和std::getline()
,并且@CruzJean建议使用std::istream::sentry
来忽略空格:
#include <iostream>
#include <string>
int main() {
std::string name;
int n;
std::cin >> n;
std::istream::sentry sentry(std::cin);
std::getline(std::cin, name);
std::cout << name << "\n";
std::cout << n << "\n";
return 0;
}