ページ 11

ファイル位置指定

Posted: 2015年12月22日(火) 11:58
by hanako
test.txt内のPredictionの下からずっと1~17の整数数列があるとします。 以下のソースで、test.txtをオープンしたときに、このPredictionの下の数列(txtファイル内ですと四行目の八列目から)だけを読み込んで度数分布を表示させたいのですが、何かよい方法はないでしょうか。Teacher列はこのとき無視します。
ファイル位置指示子などでしょうか。以下のソースコードに追記したいです。よろしくお願いします。

-----test.txtの中身--------------------------------------------------
Accuracy=0.2025
Class Labels
Prediction Teacher
 8   1
 12   1
 12   1
 6   1
 2   1
 9   1
 12   1
 ・    ・
 ・    ・
 ・    ・
-------------------------------------------------

コード:

#include <stdio.h>

void main()
{
    int i, j;
    int data, label, hist[17];
    FILE *fp;
    char *fname = "C:\\Users\\test.txt";

    for(i=0; i<18; i++){
        hist[i] = 0;
    }

    fp = fopen(fname, "r");
    if(fp == NULL) return;

    for(i=0; i<30; i++){
        fscanf(fp, "%d", &data);
        label = data;
            hist[label]++;
    }

    fclose(fp);

    for(i=1; i<18; i++){ 
        printf("\n %d: %d|", i, hist[i]);
        for(j=0; j<hist[i]; j++){
            printf("*");
        }
    }
}

Re: ファイル位置指定

Posted: 2015年12月22日(火) 12:27
by non
プログラムの16行目に、fgetsを3回入れて、後は、18行のfscanfで2個づつ読み込めばいいです。

Re: ファイル位置指定

Posted: 2015年12月22日(火) 12:31
by hanako
non さんが書きました:プログラムの16行目に、fgetsを3回入れて、後は、18行のfscanfで2個づつ読み込めばいいです。
早速のご回答ありがとうございます!もしよければ具体的に追記するコードをご教授ください。よろしくお願いします

Re: ファイル位置指定

Posted: 2015年12月22日(火) 21:23
by みけCAT
hanako さんが書きました:もしよければ具体的に追記するコードをご教授ください。
これを投稿する前に少しは自分でどのように実装するか考えてみましたか?