gpt4 book ai didi

c++ - 如何为 cin 提供自己的分隔符?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:10:13 33 4
gpt4 key购买 nike

在 c 中,我可以将换行符 ([^\n]) 与 scanf 一起使用。使用它我可以存储该行。同样对于 cin,我可以使用 getline。

如果我必须存储一个段落,我可以使用我自己的特殊字符定界符(如 [^#] 或 [^\t] 以及 c 中的 scanf 函数来模拟该功能。

char a[30];
scanf("%[^\#]",a);
printf("%s",a);

如何在cpp中实现与cin对象类似的功能。

最佳答案

istream.getline允许您指定要使用的分隔符,而不是默认的 '\n':

cin.getline (char* s, streamsize n, char delim );

或者更安全、更简单的方法是使用 std::getline .使用这种方法,您不必担心分配足够大的缓冲区来容纳您的文本。

string s;
getline(cin, s, '\t');

编辑:

作为旁注,因为听起来您只是在学习 C++,阅读多个分隔行的正确方法是:

string s;
while(getline(cin, s, '\t')){
// Do something with the line
}

关于c++ - 如何为 cin 提供自己的分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7297623/

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