• 締切済み

C言語 iMacでのファイル入出力

#include <stdio.h> int main() { FILE *fp; fp=fopen("test.txt","w"); if (fp==NULL){ perror("ファイル・オープンに失敗しました\n"); return -1; }else printf("ファイルを正常に開きました\n"); fprintf(fp,"これが初めてのファイル入出力です\n"); if (fclose(fp)!=0){ perror("ファイル・クローズに失敗しました\n"); return -1; }else printf("ファイルを正常に閉じました\n"); return 0; } これを実行してもどこにもtest.txtというファイルがありません。 同じプログラムをwinでも実行してみたところ正常にファイルが作られました。 mac初心者なもんで、どうすればいいのでしょうか?

みんなの回答

  • ki073
  • ベストアンサー率77% (491/634)
回答No.2

No.1に書かれているようにカレントディレクトリにファイルができます。 >これを実行してもどこにもtest.txtというファイルがありません。 ということはXcodeのプロジェクトでCommand Line Toolを選択してプログラムを入力したのでしょうか? この場合は、実行形式のバイナリができているフォルダに作成されます。 Xcodeのウインドウ(左側)にProductsの下に実行形式のバイナリファイルが見えるはずです。それを右クリックしてShow in FInderを選ぶとそのフォルダが表示されます。 それもターミナルでgccを実行されたのでしょうか、その場合はpwdでカレントディレクトリが確認できますし、lsコマンドで表示されるはずです。 久々にXcodeを使ってみましたが、簡単なものだとCommand Line Toolでやるのが簡単なようです。

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

この程度のプログラムだと、OS による違いはほとんど出ません。 どんなツールを使って、どんな実行方法で実行しているのでしょうか? 正常に動作していれば、 ファイルを正常に開きました ファイルを正常に閉じました と画面出力があると思われますが、そうなってますか? また、ファイル作成に失敗すれば ファイル・オープンに失敗しました と画面出力があると思われますが、このメッセージは出ていませんか? > fp=fopen("test.txt","w"); この指定だと、カレントディレクトリ(WIndowsで言うところの実行時フォルダ)にファイルができます。 どこを探したのでしょうか? ここに書いてあることだけだと 「コンパイルすらできていない」 「実行していない」 「見落しているだけ」 ということまで疑わなければなりません。

関連するQ&A