• ベストアンサー

ファイルからの読み込み(初心者)

#include <stdio.h> #include <stdlib.h> int main(void) { FILE *fp; char s[256]; if ((fp = fopen("memo.txt", "r")) == NULL) { printf("file open error!!\n"); exit(EXIT_FAILURE); } while (fgets(s, 256, fp) != NULL) { printf("%s", s)         } fclose(fp);         return 0; } というファイルから1行読み込むというプログラムなのですが いくらやってもファイルが開けませんにしかなりません。 ファイル名の所が間違ってるのだとは思いますが・・ ファイルはメモ帳で作った簡素なファイルで ファイル名:memo ファイルの種類:テキスト文書(*.txt) 文字コード:ANSI 保存場所はデスクトップ です どうすれば開けるようになるのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

if ((fp = fopen("memo.txt", "r")) == NULL) { の "memo.txt" は、カレントフォルダ、つまり「実行プログラムがあるフォルダと同じフォルダ」のmemo.txtを指定している。 でも、質問者さんはmemo.txtをデスクトップに置いてる。それじゃ開けるわきゃない。 実行プログラムとmemo.txtは、同じ場所に置こう。

minaraiH
質問者

お礼

そういうことでしたか。お恥ずかしい質問でしたね。 ありがとうございました

その他の回答 (1)

  • Yanch
  • ベストアンサー率50% (114/225)
回答No.2

> ファイル名:memo ファイル名は、拡張子付きで保存しないと、よくないと思います。 たとえば、memo.txt 実行時には、プログラムと同じディレクトリにファイル開きたいファイルが配置されている 必要がありそうです。(※相対パス使用時)

関連するQ&A