- 締切済み
c言 ファイルのオープンについて
#include <stdio.h> int main(void) { int ch; FILE *fp; char fname[64]; printf("ファイル名:"); scanf("%s",fname); if((fp=fopen(fname,"r"))==NULL) printf("ファイルをオープンできません。\n"); else{ while((ch=fgetc(fp))!=EOF) putchar(ch); fclose(fp); } return(0); } ファイル名は20130603.cで、実行ファイル(exe)と同じディレクトリに入れてあるのに、このプログラムでファイルをオープンできないのです。 このプログラムを実行するために必要なファイルの作成法と、例としてのファイルの内容、実行結果など、教えていただきたいのです。 色々調べてみたのですが、解決法がイマイチ見つかりませんでした。 どうかよろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- hashioogi
- ベストアンサー率25% (102/404)
ファイル名を入力するときに C:\ABC\DEF\20130603.c のようにフルパス名で入力してみたら?
- fresh_homepie
- ベストアンサー率64% (24/37)
開発環境はVisual C++ (Visual Studio) のIDEでしょうか? IDEからデバッグ実行(または、メニューから「デバッグなしで実行」)するとき、既定の設定では、実行時のカレントディレクトリはexeと同じディレクトリではなくプロジェクトファイルと同じディレクトリになりますので、ご承知おきください。
補足
実行前に移してありますが、できませんでした。
f((fp=fopen(”20130603.c”,"r"))==NULL) ではどうなりますかね?
補足
ファイルをオープンできませんでした。 となります。
- redfox63
- ベストアンサー率71% (1325/1856)
実行環境などの情報も投稿する際に付け加えたほうがいいですよ たとえば WinXP SP3、VisualStudio IDE上から デバッグ実行 とか カレントディレクトリ(作業ディレクトリ)と 実行ファイルのあるディレクトリが異なっているって事は無いですか? コマンドプロンプトなどから 実行ファイルのあるディレクトリに移動してから EXEを実行して見ては …
- s0832080
- ベストアンサー率0% (0/2)
パッと見問題なさそうなのですが・・・. ファイルの内容、実行結果など、教えていただきたいです.
補足
実行結果はいつも 「ファイルをオープンできませんでした。」 となります。
補足
できませんでした。