ユーザー入力からファイルを開こうとすると問題が発生しました。最初に入力したときにファイル名が正しい場合は開くことができますが、whileループで正しい場合はできません。C - ユーザー入力ファイル名を使用
char file[256], *end;
printf("Enter the name of the file: ");
fgets(file, 256, stdin);
if((end=strchr(file, '\n'))!=NULL)
*end='\0';
FILE *fp=fopen(file, "r");
while(fp==NULL)
{
printf("The given file doesn't exist. Enter a file name: ");
fgets(file, 256, stdin);
if((end=strchr(file, '\n'))!=NULL)
*end='\0';
FILE *fp=fopen(file, "r");
}
ファイルが終了しないと終了します。なぜ繰り返し聞いてみたいのですか?指定されたファイルは存在しません。ファイル名を入力してください: '?? – LethalProgrammer
@xingありがとうございました。解決しました:D –