我最近通过在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()
库函数的输入/输出库。