入力ファイルが開かない?

解決


パンナコッタ  2003-11-26 05:54:53  No: 52597

タイトルにも書いていたように入力ファイルが開きません。

 printf("enter file name \n ?");
      scanf("%s",aa);
      if (aa[0]=='d' && aa[1]=='i') {aa[1]='f'; pp=1;}
      if ((fl1 = fopen (aa,"r"))==NULL){
      printf("File not open \n");
      exit(1);
    }

入力ファイルを開くプログラムは、このようになっています。
aaは”char  aa[81]”で実行画面でファイル名”df・・”と入力すると
File not open とでてきます。
プログラムがどこかおかしいのでしょうか?それとも入力データに間違いがあるのでしょうか?
可能性がある原因を教えてください。
お願いします。


YuO  2003-11-26 07:45:37  No: 52598

単にカレントディレクトリにファイルがないだけでは?

aaの中身を出力してみるとか,
VC++のfopenはerrnoを設定するようなのでerrnoを調べてみるのが良いかと。


AUT`s  2003-11-26 20:58:21  No: 52599

改行が入ってるとか。”・・”<これ。scanfの仕様を忘れたので、なんとも。
> if ((fl1 = fopen (aa,"r"))==NULL){
の行にbreakでも仕込んで、aaの内容を確認でもしてみたら〜


パンナコッタ  2003-11-26 23:53:21  No: 52600

ファイルが開くようになりました。
質問に答えていただいて、ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加