我想获得无限制的字符,实际上我创建了char *,我使用了cin,我希望将其更改为字符串。 我不知道用户输入的输入长度,所以我为自己制作了这个解决方案。 有人能告诉我plz,如何在不知道输入大小和转换为字符串的情况下获取char *。 谢谢。
答案 0 :(得分:5)
因为它是C ++。只需使用std::string
如果您确实需要使用char*
,请查看this topic
答案 1 :(得分:2)
不使用char *
,而是使用标准库。
#include <string>
#include <iostream>
int main()
{
std::string data;
std::getline(std::cin, data);
std::cout << data << '\n';
}
这将读取任意长度的字符串(至少在输入换行符之前,不会包含在data
中),然后将其打印出来。
您可能还希望检查std::cin
的状态以测试是否发生任何错误。