- ベストアンサー
fopenについて
ご質問させて頂きます。 ファイルの中身は以下の通りです。 TX55123455846521113456211415122335122200452125442[EOF] という感じの 一行だけの細長いデータです。 このファイルのデータを 読み取ろうとして 以下の様にしました。 int main(void){ char buf[5]; FILE *fp; fp = fopen("ex.fil","r"); if (fp == NULL){ printf("can't open"); exit(1); } エラーは出ないのですが データがないと判断されてしまうようで 「can't open」 となってしまいます。 どういう点がおかしいのか お気づきな点がありましたら ご教示して頂けたら幸いです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
1.オープンしようしているファイル"ex.fil"ですが、フルパスで指定して下さい。"c:\\xxx\\yyy\\ex.fil"のように記述します。\\は、内部で\一文字になります。 2.もし、"ex.fil"だけを、指定したいのなら、"ex.fil"の存在するディレクトリに移動し、そこでプログラムを実行して下さい。 上記の何れかで、望んだ結果が得られます。
その他の回答 (2)
- candlefire
- ベストアンサー率0% (0/4)
メモ帳などで作った場合、ex.filのあとに.txtみたいな拡張子がついている場合もあります. fopen("exfil.txt", "r") としてみては? exfil -> exfile の間違いではないですよね??
- frogeye
- ベストアンサー率47% (11/23)
指定したファイルが正しい位置に存在しているのかチェックしてください。 今回の場合、実行ファイルと同じディレクトリにex.filが存在する必要があります。 実際どのようなエラーなのかは errno を調べてください。