我有以下代码:
char myText[256];
cin.getline(myText,256);
Run Code Online (Sandbox Code Playgroud)
为什么我必须将字符数组传递给cin.getline()而不是字符串?
我已经读过,一般来说使用字符串比使用字符数组更好.我是否应该在检索输入后将字符数组转换为字符串cin.getline(),如果可能的话?
您正在使用 istream 的成员方法。在这种情况下,cin。该功能的详细信息可以在这里找到:
http://en.cppreference.com/w/cpp/io/basic_istream/getline
不过你可以使用std::getline
它使用字符串而不是字符数组。使用字符串更容易,因为它们知道它们的大小,它们会自动增长等,并且您不必担心空终止字符等。还可以使用适当的字符串构造函数将字符数组转换为字符串。