2011年11月27日日曜日

入力が出来るようになった

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void){
    int a[512],i = 0,n;
    char fbuf[256],*p;
    FILE *fp;
   
    if((fp = fopen("data","r")) == NULL){        //ファイルのオープン
        printf("file open error\n");
        exit(EXIT_FAILURE);
    }
   
    
   
    fgets(fbuf,100,fp);                                //ファイルから1行読み取ってfbufへ
   
    printf("%s\n",fbuf);                            //fbufの内容を出力

    p = fbuf;                                        //ポインタpにfbufのアドレスを代入
   
   
    //数字の読み込み
    do{
        sscanf(p,"%d",&a[i]);                        //ポインタpで指定された文字列から整数を取得
        i++;
        p++;                                        //ポインタを1つ増やす
    }while((p = strchr(p,' ')) != NULL);            //ポインタpで指定された文字列からスペースを探し、見つかればループを継続
 
  a[i] = -1;                                    //配列の最後を-1に設定

  i = 0;   
   
    //配列の出力
    while(a[i] >= 0){                            //a[i] >= 0ならa[i]を出力
        printf("%d ",a[i]);
        i++;
    }
    printf("\n");
   
    fclose(fp);                                        //ファイルのクローズ

    return 0;
}

もう情報オリンピックまで1ヶ月切ったというのに今更ファイルの入力が出来るようになった…
コメント文をこんなに書くのは初めてだからどうすればいいやら。

もっといいやり方があると思うけどな!

0 件のコメント:

コメントを投稿