Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 读取具有已知格式c+的未知大小行+;_C++ - Fatal编程技术网

C++ 读取具有已知格式c+的未知大小行+;

C++ 读取具有已知格式c+的未知大小行+;,c++,C++,我构建了一个方法,该方法接收一行,该行采用下一种格式: 名称、id、类型、视频列表 名称、id和类型是固定的,但我的问题是有超过1个视频,我想将它们输入到列表中。 我知道如何将它们输入到列表中,但我的问题是如何在视频列表字符串的开头到结尾的行上进行迭代 到目前为止,我的代码是: Client* deseriallize_client(std::string str) { int index = str.find(","); std::string name = str.substr(0, ind

我构建了一个方法,该方法接收一行,该行采用下一种格式:

名称、id、类型、视频列表

名称、id和类型是固定的,但我的问题是有超过1个视频,我想将它们输入到列表中。 我知道如何将它们输入到列表中,但我的问题是如何在视频列表字符串的开头到结尾的行上进行迭代

到目前为止,我的代码是:

Client* deseriallize_client(std::string str)
{
int index = str.find(",");
std::string name = str.substr(0, index);
str.erase(0, index + 1);

index = str.find(",");

std::string id = str.substr(0, index);
str.erase(0, index + 1);

index = str.find(",");
std::string type = str.substr(0, index);
str.erase(0, index + 1);

Client *new_client = new Client(name,id,type);
我构建了客户机类,它还有一个名为add_vid的方法

例如,让我们假设文本包含:

用户,300,vip,搏击俱乐部,肖申克的救赎,幸运数字斯莱文,7

我想知道如何编写一个迭代,它将:

new_client.add_vid(Fight Club)
new_client.add_vid(The shawshank redemption)
....
  • 检查字符串中是否有逗号。如果没有,添加它,然后停止
  • 在逗号前添加字符串
  • 将逗号后的字符串复制到字符串中
  • 转到步骤1