在C ++中不使用 std::string
,是否有其他方法可以输入字符串(以及空格)?
我知道, std::string
是标准方式。但是,我只是好奇。
答案 0 :(得分:2)
std::istream::getline(char *, streamsize)
http://www.cplusplus.com/reference/iostream/istream/getline/
无耻地偷走了// istream getline
#include <iostream>
using namespace std;
int main () {
char name[256], title[256];
cout << "Enter your name: ";
cin.getline (name,256);
cout << "Enter your favourite movie: ";
cin.getline (title,256);
cout << name << "'s favourite movie is " << title;
return 0;
}
答案 1 :(得分:2)
使用std::string
。没有理由不使用它。
如果由于某些模糊的机会,您有其他要求无法使用std::string
,请说明这些要求,因为它们会影响代码。
更新:如果输入是换行符,请使用string s; std::getline(cin, s);
答案 2 :(得分:0)
你可以使用getline
- 旧的做事方式。但是你为什么要这样做?
参考:http://www.crasseux.com/books/ctutorial/getline.html
或者如果你喜欢头痛,你甚至可以使用系统调用!