如何在C 中使用字符串作为getline()函数中的分隔符
How to use string as a delimiter in getline() function in c++
我有结构成员,该结构成员从xml.中获取定界符的值,并且我想将该结构成员用作分隔符。但是,当getline()
功能以char为char时,我我被困在那儿。
istream& getline (istream& is, string& str, char delim)
我在代码中完成了以下操作: -
string ABC = struct.delimiter; // Here struct.delimiter is takes value of
d delimiter from XML delimiter = '='
我想用作
getline(string1,string2, ABC);
有可能吗?或者还有另一种方法吗?
您无法通过getline实现这一目标,我知道这样做的最好方法是获取行,将其存储在字符串中,然后使用find()函数查找您的定界符。
string string; // Your line
string ABC = struct.delimiter; // Delimited
getline(input, string); // Get line from stream - Thx Kevin
string subStr = str.substr(0, str.find(ABC)); // this will get you the first segment
从这里您可以开发循环以浏览读取数据并找到所有段。
如果保证ABC
是一个长度的单个字符,则可以使用ABC[0]
从字符串中获取第一个字符:
getline(string1, string2, ABC[0]);
或只是使ABC
成为char
,以使其更加明显。
char ABC = struct.delimiter; // (assuming struct.delimiter is also a char,
// if not use srtuct.delimiter[0])
getline(string1, string2, ABC);
相关文章:
- getline 函数似乎在 C++ 中不起作用
- 如何以及何时使用 getline 函数执行计算?
- 对c++中的输入使用getline函数时忽略第一个字符
- 使用 c++ 中的 getline 函数连续读取两行
- 此C Getline函数的C 代码有什么问题
- 使用 getline 函数读取文件,但第一列显示为空
- 使用 getline 函数获取分段错误
- getline函数只读取第一行
- c++getline函数不允许我输入
- 使用getline函数时出现问题
- 如何正确使用标准::getline函数
- C++:将带有空格的cin转换为不带getline函数的字符串
- 而循环构造与 getline 函数相结合,一直持续到 EOF
- 使用 getline 函数的最优雅方式
- 使用 getline 函数解析 C++ 中的字符串
- 我们如何在程序中同时使用 cin 和 getline 函数
- std::getline函数(fstream _Lock())出错
- 验证输入和getline()函数
- **编译器错误** - getline() 函数不接受第一个参数"std:ifstream"是什么我的问题?
- c++中的Getline()函数需要少一个输入