「C言語練習」 1-11-2.c   ・前へ   ・次へ
/* File 入力(2) [再入力]   1-11-2.c */
/* ここではFile名の入力を間違った時に、入力を遣り直す例を挙げる */

#include <stdio.h>
#include <stdlib.h> 	// exit命令を使わないので不要だが、一応書いて置く。
#define MAX 127

main()
{
	char fname[50];
	char str[MAX+1];
	FILE *fin;	// fileを扱う宣言−入力用

/* 以下の do while loopで、入力ミスの時はFile名の入力を繰り返す(while loop
   との違いに留意。do whileはdo以下の文を必ず一度は実行する)。 */
	do {
		printf("* Text File 表示 *\nFile名を入力:");
		gets(fname);
		fin=fopen(fname,"r");	// fileを開ける。
		if (fin==NULL) printf("File がありません!\n\n");
	} while (fin==NULL); // fileが無ければdoの頭に戻って繰り返す。

/* 以下のwhile loopでText Fileを画面に表示する。前回とは少し書き方を変えた。
  whileの( )中に直接fgets()文を書くと少し短く出来る。*/
	while (fgets(str,MAX,fin) != NULL)
		fputs (str,stdout);

	fclose(fin);

printf("\nEnd\n");
return 0;
}


(前に戻る)   ・次へ