std::string 是否仅适用于 C++ 中的 'std::cin'
Does std::string works only with 'std::cin' in c++
我最近通过搜索 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
而是使用以空字符结尾的字符串。
如果您使用的是 C++,通常您应该更喜欢 std::string
而不是空终止字符串,the input/output library 而不是 printf()
/scanf()
库函数。
我最近通过搜索 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
而是使用以空字符结尾的字符串。
如果您使用的是 C++,通常您应该更喜欢 std::string
而不是空终止字符串,the input/output library 而不是 printf()
/scanf()
库函数。