ファイル位置指定

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
hanako

ファイル位置指定

#1

投稿記事 by hanako » 9年前

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("*");
        }
    }
}

non
記事: 1097
登録日時: 14年前

Re: ファイル位置指定

#2

投稿記事 by non » 9年前

プログラムの16行目に、fgetsを3回入れて、後は、18行のfscanfで2個づつ読み込めばいいです。
non

hanako

Re: ファイル位置指定

#3

投稿記事 by hanako » 9年前

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

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: ファイル位置指定

#4

投稿記事 by みけCAT » 9年前

hanako さんが書きました:もしよければ具体的に追記するコードをご教授ください。
これを投稿する前に少しは自分でどのように実装するか考えてみましたか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

閉鎖

“C言語何でも質問掲示板” へ戻る