std::string 是否仅适用于 c++ 中的'std::cin'



我最近通过在Google上搜索来了解std::substr()。我看到了这样的代码:

std::string s = "This is an example string";
std::string s1 = s.substr(11, 7);
std::cout << s1 << std::endl;

现在,如果我尝试使用scanf()函数(而不是使用std::cin(进行输入,则该程序在运行时崩溃。std::string不使用scanf()函数支持?

scanf()属于C函数家族,该家族是C语言而不是C 的一部分,对std::string不提供直接支持,而是与Null终止的字符字符串一起工作。

如果您使用的是C ,则通常应该更喜欢std::string而不是终止终止字符字符串和 printf()/scanf()库函数的输入/输出库。

最新更新