读取已知格式为c ++的未知大小行

时间:2015-08-17 12:26:47

标签: c++

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

  

姓名,身份证明,类型,视频列表

名称,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);

我构建了Client类,它还有一个名为add_vid的方法。

例如,假设文本包含:

  

用户,300,贵宾,搏击俱乐部,肖申克赎回,幸运号码slevin,七

我想知道如何编写迭代:

new_client.add_vid(Fight Club)
new_client.add_vid(The shawshank redemption)
....

1 个答案:

答案 0 :(得分:0)

  1. 检查字符串中是否有逗号。如果没有,请添加,然后停止。
  2. 在逗号前添加字符串。
  3. 将逗号后的字符串复制到字符串中。
  4. 转到第1步。