c++字符数组,在cin.getline()中使用
c++ char arrays, use in cin.getline()
我有以下代码:
char myText[256];
cin.getline(myText,256);
为什么我必须传递一个字符数组到cine .getline(),而不是一个字符串?
我读到,在一般情况下,使用字符串比字符数组更好。如果可能的话,我是否应该在使用cin.getline()
检索输入后将字符数组转换为字符串?
您正在使用istream的成员方法。在这个例子中是cin。这个函数的详细信息可以在这里找到:
http://en.cppreference.com/w/cpp/io/basic_istream/getline但是你可以用std::getline
使用字符串而不是字符数组。使用字符串更容易,因为它们知道它们的大小,它们会自动增长等,你不必担心null终止字符等等。也可以通过使用适当的字符串构造函数将字符数组转换为字符串。
我相信这是一个不幸的历史产物。
但是,您可以使用std::getline
free函数。
std::string myText;
std::getline(std::cin,myText);
相关文章:
- Getline(cin,str)的奇怪输出
- 使用 getline(cin, var) 两次在进行字符串比较时会产生错误 (==)
- C++ getline(cin,变量)行为不端.网站上没有任何解决方案有帮助
- 由于 getline(cin,s) 导致的 SIGABRT 错误
- 为什么我们需要在getline(cin,string)之前使用cin.ignore()
- 在C 中使用两个GetLine(CIN,S)
- 使用 getline(cin,n) 输入;没有打印第一个输入,我没有使用 CIN >> 在任何地方输入
- 为什么必须键入 getline(cin,字符串)两次
- 无法删除 txt 文件中 getline(cin , (变量)) 之后的下一行
- getline(cin,_string);
- 当使用getline(cin,string)时,CIN会自动获取其值而不询问
- 我的程序跳过getline(cin,CustInfo),进入CustomerInfo函数中的City.我该怎么修
- Using cin AFTER getline(cin, string)
- 如何正确使用"getline(cin, input);"
- 关于getline(cin,string)的C++快速问题
- getline(cin,s1)没有提示我输入
- 为什么 cin.ignore() 后面的 getline(cin, var) 不读取字符串的第一个字符?
- 为什么getline(cin,string_name)在我第一次在循环中使用它时会创建一个空字符串
- getline(cin,aString)接收输入而不输入另一个值
- getline(cin,string)与cin.ignore()一起不工作