簡體   English   中英

用c解析csv

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM