• 締切済み

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)と同じディレクトリに入れてあるのに、このプログラムでファイルをオープンできないのです。 このプログラムを実行するために必要なファイルの作成法と、例としてのファイルの内容、実行結果など、教えていただきたいのです。 色々調べてみたのですが、解決法がイマイチ見つかりませんでした。 どうかよろしくお願いします。

みんなの回答

  • hashioogi
  • ベストアンサー率25% (102/404)
回答No.5

ファイル名を入力するときに C:\ABC\DEF\20130603.c のようにフルパス名で入力してみたら?

noname#225287
質問者

補足

できませんでした。

回答No.4

開発環境はVisual C++ (Visual Studio) のIDEでしょうか? IDEからデバッグ実行(または、メニューから「デバッグなしで実行」)するとき、既定の設定では、実行時のカレントディレクトリはexeと同じディレクトリではなくプロジェクトファイルと同じディレクトリになりますので、ご承知おきください。

noname#225287
質問者

補足

実行前に移してありますが、できませんでした。

noname#187562
noname#187562
回答No.3

f((fp=fopen(”20130603.c”,"r"))==NULL) ではどうなりますかね?

noname#225287
質問者

補足

ファイルをオープンできませんでした。 となります。

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

実行環境などの情報も投稿する際に付け加えたほうがいいですよ たとえば WinXP SP3、VisualStudio IDE上から デバッグ実行 とか カレントディレクトリ(作業ディレクトリ)と 実行ファイルのあるディレクトリが異なっているって事は無いですか? コマンドプロンプトなどから 実行ファイルのあるディレクトリに移動してから EXEを実行して見ては …

  • s0832080
  • ベストアンサー率0% (0/2)
回答No.1

パッと見問題なさそうなのですが・・・. ファイルの内容、実行結果など、教えていただきたいです.

noname#225287
質問者

補足

実行結果はいつも 「ファイルをオープンできませんでした。」 となります。

関連するQ&A