|
単なるファイルの存在プログラムから、stdinしたファイル名の存在プログラムへ変更しただけなのですが、なぜこんなエラーが出たのか分かりません。その理由を知りたくて。
変更箇所
1 fgets()関数にてファイル名を取得
2 ファイル名は、char filename[51]
3 ファイル長を求める変数に size_t len;
4 ファイル長をstrlen()関数を使用
5 fgets()関数でファイル名を取得しているため、filename[len-1]
に'\0'を代入し改行キーを削除
(18) : error C2143: 構文エラー : '{' が ':' の前にありません。
(18) : error C2059: 構文エラー : ':'
(17) : error C2143: 構文エラー : '{' が ':' の前にありません。
(17) : error C2059: 構文エラー : ':'
などのエラーが100 個を超えました。コンパイルは中断されます。
#include <stdio.h>
#include <stdlib.h>
#include <string>
int main(void)
{
FILE *fp;
char filename[51];
size_t len;
printf(" ファイル名を入力してください−> ");//
fgets( filename, 50, stdin);
len = strlen(filename);
filename[len - 1] = '\0';//
if ((fp = fopen(filename, "r")) == NULL) {
fprintf ( stderr, "Can't Open C Source File!\n" );
exit (2);
}
printf("%s ファイルは存在します\n",filename);
fclose(fp);
return 0;
}
|