我最近通过在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()
功能吗?
答案 0 :(得分:4)
scanf()
属于一系列C函数,它们是C语言的一部分而不是C ++,不提供对std::string
的直接支持,而是使用空终止字符串。
如果您使用的是C ++,通常应该优先考虑std::string
而不是空终止的终止字符串和the input/output library而不是printf()
/ scanf()
库函数。