0

fscanf を使用してフォーマット済みの .srt ファイルをスキャンしていますが、C にかなり慣れていないため、回避できない問題に遭遇しました。

ファイル char を char ごとに読み込もうとしましたが、デバッグできなかった巨大な混乱になってしまいました

if (input == NULL) 
    {
        printf("File doesn't exist, exiting!\n");
        exit(1);
    }
    printf("File opened!\n");

    int order; //number of line

    int csh; //hh
    int csm; //mm
    int css; //ss
    int csms; //ms

    int ceh; // same order as above
    int cem;
    int ces;
    int cems;

    char* text = calloc(256, sizeof(char));
    char c;

    int count = 0;
    while ((i = fscanf(input, "%d\n%d:%d:%d,%d --> %d:%d:%d,%d\n%10s", &order, &csh, &csm, &css, &csms, &ceh, &cem, &ces, &cems, text) > 0) )
    {
        count++;
        printf("%d\n%d:%d:%d,%d --> %d:%d:%d,%d\n%s",  order,  csh, csm, css,  csms,  ceh,  cem,  ces,  cems, text);

if (count == 2) 
        {
            int xyx;
            scanf_s("%d", &xyx);
        }




    }

だから私はフォーマットされたファイルを読み込んで二重にリンクされたリストにデータを保存しようとしています、そしてファイルはこのように見えます

ここに画像の説明を入力

ファイルは巨大なもので、ファントム・メナスの字幕全体だと思います。そのため、2 つの問題があります。私のコードは、時間が経過したときにテキスト全体を読み取らず、2 番目のカウンターを通過しません。プログラムをテストするためだけに使用しました。

私はこの出力を得る ここに画像の説明を入力

4

1 に答える 1