[英]Parsing csv with c
我有以下內容來解析一個csv文件,並且在我更改之前它可以正常工作
(getfield(tmp, 12));
至
(getfield(tmp, ver));
函數聲明中存在問題嗎?
這是代碼:
const char* getfield(char* line, int num)
{
const char* tok;
for (tok = strtok(line, ";");
tok && *tok;
tok = strtok(NULL, ";\n"))
{
if (!--num)
return tok;
}
return NULL;
}
int main() {
double frame_index[40][300];
int horz;
FILE* fp = fopen("output.txt", "r");
char line[1024];
for (int ver; ver<20;ver++) {
while (fgets(line, 1024, fp)) {
char* tmp = strdup(line);
frame_index[ver][horz] = atof(getfield(tmp, ver));
// works if "ver" was explicitly defined
printf("AA %f\n", frame_index[ver][horz]);
free(tmp);
horz++;
}
rewind(fp);
}
}
您永遠不會初始化變量ver
。 例如,您可能想要更改
for (int ver; ver<20;ver++)
至
for (int ver=0; ver<20;ver++)
與horz
更新相同..
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.