所以我有一个清单
{“ID”:“55e5f0c8ace3e”,“nombre”:“Jacqueline”,“apellido”:“Charlet”,“sobrenombre”:“”,“edad”:“30”,“caracteristicas”:“”, “comentario”: “”,
我需要更改该列表并以正确的方式将其放入: ID:55e5f0c8ace3e Nombre:杰奎琳 Apellido:...... 等。
试过这个:
#include <iostream>
#include <fstream>
using namespace std;
ifstream datos("datos.txt");
ofstream final("final.txt");
int main(){
char valor;
if(!datos)
{
cout << "error";
}
else
{
while(!datos.eof())
{
datos.get(valor);
if(valor == 'I' && datos.peek() == 'D')
{
cout << "I can read" << endl;
}
}
}
}
我试图用C ++做这个,这是正确的方法吗?我曾尝试过一些方法,但我不知道如何从一个点读到另一个点,我的意思是从双coma中读取ID并在其他双coma上完成。 提前致谢
答案 0 :(得分:0)
引入一个整数状态变量,描述您所处的文件的哪个部分。然后根据该字符解释每个字符。例如,最初它是0.一旦遇到&#34;它就变为1 - 这意味着你正在读一个名字。如果state为1,并且字符不是&#34;&#34;,则在某些字符串变量中累积字符。一旦遇到引号字符且状态为1,则表示名称已结束。等等。
如果这不是家庭作业,谷歌的C ++ JSON解析器。这是股票问题,已经解决了一千次。
另外,请不要编辑答案 - 请发表评论。