gpt4 book ai didi

C++ iostream 以多个字节的定界符读取

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:28:58 25 4
gpt4 key购买 nike

我们知道要从输入流中读取,我们可以使用下面的标准 C++ 函数

istream& getline (char* s, streamsize n, char delim );

但是我们只能提供一个字节/字符的分隔符。

如果我想使用多个字节的分隔符怎么办?有什么我可以利用的好东西吗?

最佳,

最佳答案

我认为您可以使用 cin.get() 而不是 cin.getline()。每次读取一个字符,测试是否出现分隔符。

主要内容(无效){

string str;  
int length_of_delimiter = 3;
const char *delimiter = "ABC";
char temp = '0';
bool over = false;
cout<<"Enter the stream"<<endl;

temp = cin.get();
int i = 0;
while(over == false){
for(i = 0; temp == delimiter[i] && i < length_of_delimiter; i++){
str += temp;
temp = cin.get();
}
if(i == length_of_delimiter){
//chop off the delimiter
str.erase(str.end() - length_of_delimiter, str.end());
over = true;
}
else {
str += temp;
temp = cin.get();
}
}
cout<<"The stream we wanted is: "<<str<<endl;
return 0;

关于C++ iostream 以多个字节的定界符读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14930512/

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