我对C++中的字符串有疑问

我想从用户22字符中读取并将其存储在字符串中

我试过了:

std::string name;
std::cin.getline(name,23);

它显示一个错误。

将cin.getline与string配合使用的解决方案是什么?

最佳答案

您可以使用std::getline(std::istream&, std::string&)中的 <string> 代替。

如果您希望将字符数限制为22个字符,则可以使用std::string,就像将其传递给任何C风格的API一样:

std::string example;
example.resize(22); // Ensure the string has 22 slots
stream.getline(&example[0], 22); // Pass a pointer to the string's first char
example.resize(stream.gcount()); // Shrink the string to the actual read size.

关于c++ - 我如何使用std::cin.getline()和字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16156545/

10-11 23:04
查看更多