gpt4 book ai didi

C++ std::ifstream 读取字符串定界符

转载 作者:太空狗 更新时间:2023-10-29 23:34:07 24 4
gpt4 key购买 nike

使用时:

string s;
cin >> s;

字符串可以包含哪些字符,哪些字符会停止读取字符串。

最佳答案

std::ctype_base::spacestd::istream 的分隔符,这使得它停止从源中读取更多字符。

std::ctype_base::space 指的是空格和换行符。这意味着,当使用 cin>>s 读取时,s 可以包含除空格和换行符之外的任何字符。

如果你想阅读包含空格的完整行,那么你可以使用 getline()使用换行符作为分隔符的函数。还有它的重载函数,如果你想提供自己的分隔符,你可以使用它。 See it's documentation for further detail .


您还可以使用自定义的 locale,您可以将其设置为 std::istream。您的自定义语言环境可以定义一组字符以被 std::istream 视为定界符。你可以在这里看到一个这样的例子(见我的解决方案):

Right way to split an std::string into a vector<string>

关于C++ std::ifstream 读取字符串定界符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6094688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com