• ベストアンサー

fopen関数

eroermineの回答

  • eroermine
  • ベストアンサー率18% (83/444)
回答No.3

fp = fopen("test.txt","W"); 小文字ですよ "w"

szatmari
質問者

お礼

回答ありがとうございます、 おおっと、これは失礼!

関連するQ&A

  • fopen関数について

    ----------------------------------------- #include<stdio.h> #include<stdlib.h> int main() { FILE *fp; char filename[80],ss[256]; printf("ファイル名="); gets(filename); if((fp=fopen(filename,"r"))==NULL){ printf("ファイルをオープンできません.\n"); exit(1); } while(fgets(ss,256,fp)!=NULL){ printf("%s",ss); } puts(""); fclose(fp); return 0; } ----------------------------------------- 初心者な内容の質問ですいません。 以上のプログラムでまず、「gets(filename);」により、「filename[80]」の配列に「aaa.txt」という文字列を格納し、そのファイルをfopenで読もう込もうとしています。 そこで、 if((fp=fopen(filename,"r"))==NULL) の部分に疑問があるのですが、「filename」という配列名だけで中身の「aaa.txt」と何故認識できるのでしょうか? 配列名ということで、先頭アドレスのみの情報しかないと思いました。 教えていただければ嬉しいです。

  • fopen用の関数を作りたいです。

    #include<stdio.h> void F_open(FILE *fp); main(){ FILE *fp; F_open(fp); fprintf(fp,"aaa\n"); } void F_open(FILE *fp){ fp=fopen("aa.txt","w"); } とすると、ファイルオープンはできるのですが >fprintf(fp,"aaa\n"); で書き込もうとしたときにエラーになってしまいます。 解決策を教えていただきたいです。

  • fopenでファイルがオープンできません

    $fp = fopen(TEST_FILE, "w") としてオープンしようとすると Warning: fopen(mybasic9.txt): failed to open stream: No such file or directory と、オープンしようとしたファイルがない、と出ます そして、そのファイルをあらかじめ作っておくと OKです。 しかし fopen(TEST_FILE, "w") は該当ファイルがあればそれをオープンし 無ければ、新しく作成する、とFopenの仕様に出ています。 これは、今使っているサーバーの問題でしょうか 何か、避ける方法はないでしょうか よろしくお願いします

    • 締切済み
    • PHP
  • fopenのコード

    初歩的なことですがファイルをオープンするfopenの例題で *************************** #include<stdio.h> int main (void) {   FILE  *fp;     fp = fopen ("test1.txt","w");   if (fp==NULL) {     printf ("ファイルをオープンできませんでした。\n");     return 1;   }    else {     printf ("ファイルをオープンしました。\n");   }    fclose (fp);   printf ("ファイルをクローズしました。\n");    return  0; } *********************************というのがあります。 この中のif文の中のreturnの戻り値が1なのはなぜでしょうか? (例題によっては-1というのもありましたが・・。) またどこに戻り値を返すのでしょうか? もしファイルがオープンできなければその時点で終了になるのでしょうか?初歩的なところですがお願いします。

  • fopenのモード文字列について

    fopenのモード文字列が w の時について何ですが、 #include <stdio.h> int main(void){ FILE *fp; fp=fopen("test.txt","w"); fclose(fp); return 0; } でファイルを作成した時 作成したファイルと同じディレクトリーに同じ名前のファイルが 存在するときは元のファイルに上書き(?)してファイルが作成されますよね? これは1度元のファイルを削除してから新たにファイルを作成しているのか、それとも元ファイルを空にしただけなのでしょうか?

  • fopen(ファイルパス)

    いつもお世話になっております。 現在ファイルの作成、入力について勉強しています。 FILE *maketxt; maketxt = fopen("C:\~\~\~.txt",w+); 上の状況でファイルの作成は出来るようになりましたが、 更にファイル名をfopen関数の外に定義したいと思っています。 というのもファイル名にタイムスタンプを入れたいためで、ためしに以下のようにやってみてもできませんでした。(タイムスタンプに関しては事前にlocaltime関数で定義済み) fprintf(text,C:\~\~\%d.txt,tm_sec); maketxt = fopen("text",w+); うまい書き方をご存知の方、ご教授お願いいたします。

  • fopenの追記モードについて

    宜しくお願いします。 fopenで追記モードでファイルを追記するとき、 FILE *fp; fp = fopen("hogehoge.txt", "a"); fprintf(fp, "aaa\n"); fclose(fp); fopen("hogehoge.txt", "a"); fprintf(fp, "bbb\n"); fclose(fp); と毎回ファイルを開きなおすと、出力結果が bbb aaa となってしまうのですが、 aaa bbb と出来ない物でしょうか?

  • write関数でファイルディスクリプタfile(fp1)に出力されません

    宜しくお願い致します。Windows2000でCygwinを使用しています。 $ cat test6.c #include<stdio.h> int main(void){ FILE *fp1,*fp2; fp1=fopen("file.txt","w"); fp2=fopen("file.txt","a"); printf("fp1->fd=%d\n",fileno(fp1)); printf("fp2->fd=%d\n",fileno(fp2)); write("first",fileno(fp1),2); write("second",fileno(fp2),2); return 0; } $ gcc -o test6 test6.c $ test6 fp1->fd=3 fp2->fd=4 $ cat ./file.txt となり、 file.txtに"first"と"second"が出力されるとかと思いましたが空ファイルです。 これは何が原因なのでしょうか?

  • fopenでファイル名に、変数を使いたい

    カレントディレクトリにある「1.txt」を扱う場合は fp = fopen("./1.txt", "r"); 上記で出来るのですが、扱いたいファイルが複数あり、 「./x.txt」 として、「x」の値を変えながら複数のファイルを取り扱いと考えております。 char namae[2]={'1','2'}; for(x=0;x<2;x++) fp = fopen("./%c.txt",name[x], "r"); とやってみたのですが、 「fopenの呼び出しに余分なパラメータがある」と出てしまいます。 どのようにしたら、よろしいでしょうか?

  • fopenとfcloseの繰り返しでpanic (FREEBSD)

    以下のプログラムをコンパイルして実行すると panicが発生して強制リブートしてしまいました。 これは何が原因なのでしょうか? 頻繁にfopenとfcloseを繰り返したら駄目なのでしょうか・・。 #include <stdio.h> main(){ FILE *fp; while(1){ fp=fopen("test.txt","wt"); fprintf(fp,"aaaaaaaaaa\n"); fclose(fp); } }