我有一个数据文件,里面的格式是自己定义的
[C 1 1] [C 1 7] [C 1 8] [C 2 2] [C 2 5] [C 2 6] [C 2 7] [C 2 8] [C 3 3] [C 3 4] [C 3 5] [C 4 4] [C 5 5] [C 6 6] [C 6 7] [C 7 7] [C 8 8]
我有下面的问题,想请某位大神指点一下:
你不需要知道有多少行,你既然只需用知道[]里边的东西, 你就读到一段缓存中,例如1000字节长度的数组,然后一段段分析,每次找到一个“[”就把后面的直到“]”的内容存起来,进行分析例如:
char buff[1000];
fread(fp,buff,1,1000);
int Parse(char* buff)
{
}
可以试试这个
#include <iostream>
#include <vector>
#include <cstring>
using namespace std;
char buffer[MAX_LENGTH+1];
int main(){
FILE *fp = fopen(?, "r");
vector<vector<item*>*> *vv = new vector<vector<item*>*>();
while(feof(fp) == 0){
vector<item*> *v = new vector<item*>();
fgets(buffer, MAX_LENGTH+1, fp);
char *pch = strtok(buffer, " []C");
long temp = atol(pch);
pch = strtok(buffer, " []C");
v->push_back(new item(temp, atol(pch));
while(pch != NULL){
pch = strtok(buffer, " []C");
temp = atol(pch);
pch = strtok(buffer, " []C");
v->push_back(new item(temp, atol(pch));
}
vv->push_back(v);
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。