- ベストアンサー
ファイルからの読み込み(初心者)
#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 保存場所はデスクトップ です どうすれば開けるようになるのでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
if ((fp = fopen("memo.txt", "r")) == NULL) { の "memo.txt" は、カレントフォルダ、つまり「実行プログラムがあるフォルダと同じフォルダ」のmemo.txtを指定している。 でも、質問者さんはmemo.txtをデスクトップに置いてる。それじゃ開けるわきゃない。 実行プログラムとmemo.txtは、同じ場所に置こう。
その他の回答 (1)
- Yanch
- ベストアンサー率50% (114/225)
> ファイル名:memo ファイル名は、拡張子付きで保存しないと、よくないと思います。 たとえば、memo.txt 実行時には、プログラムと同じディレクトリにファイル開きたいファイルが配置されている 必要がありそうです。(※相対パス使用時)
お礼
そういうことでしたか。お恥ずかしい質問でしたね。 ありがとうございました