1. ホーム
  2. c

[解決済み] C言語で.csvファイルを読み込む

2022-02-11 20:56:36

質問事項

私は.csvファイルを持っています。

lp;imie;nazwisko;ulica;numer;kod;miejscowosc;telefon;email;data_ur
1;Jan;Kowalski;ul. Nowa;1a;11-234;Budry;123-123-456;[email protected];1980.05.13
2;Jerzy;Nowak;ul. Konopnicka;13a/3;00-900;Lichowice;(55)333-44-55;[email protected];1990.03.23

私はいくつかのコードを持っていますが、接続のためだけのものです。

どのように解決するのですか?

うまくいけば、これをきっかけに始めることができます。

でライブをご覧ください。 http://ideone.com/l23He (stdinを使用)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

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()
{
    FILE* stream = fopen("input", "r");

    char line[1024];
    while (fgets(line, 1024, stream))
    {
        char* tmp = strdup(line);
        printf("Field 3 would be %s\n", getfield(tmp, 3));
        // NOTE strtok clobbers tmp
        free(tmp);
    }
}

出力します。

Field 3 would be nazwisko
Field 3 would be Kowalski
Field 3 would be Nowak