• ベストアンサー

txtファイルが作成されない

 こんにちは。  C言語初心者で、C言語の勉強をしています。  Visual C++ 2005 Express Editionで、  下記のようなプログラミングをし、kus.txtファイルを   作成しようとしました。  #include <stdio.h> int main(void) { FILE *fp; fp = fopen("kus.txt", "w"); if(fp == NULL){ printf("ファイルオープン失敗\n"); return 1; } else{ printf("ファイルオープン成功\n"); } fclose(fp); printf("ファイル閉じる\n"); return 0; }  そしてこれをソリューションのリビルトをし、  エラー0、警告1とでて、無事にビルトできましたが、  この後コマンドプロンプトで、   このプログラムを実行したところ、  ファイルオープン成功  ファイル閉じる  という言葉はしっかりでてきたのですが、  肝心のkus.txtが、画面のどこにもでてきません。  なぜでしょうか。教えてください。  

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

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

IDEから実行しているのでしたら 実行時のカレントフォルダはソリューションを構築したフォルダです ここに『kus.txt』が作成されていると思います たとえば C:\Document and Setteings\ユーザー名\My Documents\Visual Studio 2005\Projects\ソリューション名 といった具合のフォルダーを探して見ましょう 画面に『kus.txt』を出力するようにプログラミングしていないのですから表示はされませんよ

kusakan
質問者

お礼

回答ありがとうございました。 画面に表示されない理由がよくわかりました。 見つかりました。

その他の回答 (3)

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.4

> 肝心のkus.txtが、画面のどこにもでてきません。 画面とは? エクスプローラなどで確認してみましたか?

kusakan
質問者

お礼

回答ありがとうございました。 説明不足ですみませんでした、 画面とはデスクトップのことでした。 見つかりました。

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.2

VC++ だと、ビルドしたプログラムがプロジェクトの下の Debug なり Release なりの下にできるので、その辺を探して下さい。

kusakan
質問者

お礼

回答ありがとうございました。 Debugにありました。

  • o84
  • ベストアンサー率31% (128/407)
回答No.1

そのプログラムが置いてあるフォルダに コッソリできてたりはしないのでしょうか。

kusakan
質問者

お礼

回答ありがとうございました。 できていました。

関連するQ&A

  • なんらかの原因でtxtにデータを入力できない

    こんにちは。 C言語初心者です。 まずこのようなデータを用意しました。 kus1.txt 89 65 37 44 51 30 20 10 そして、このようなプログラムをし、ビルトしました。 #include <stdio.h> #define NUM 8 int main(void) { FILE *fp; int kusa[NUM]; int max,min; int i,k; fp = fopen("kus1.txt","r"); if(fp == NULL){ printf("ファイルオープン失敗\n"); return 1; } for(i=0; i<NUM; i++){ fscanf(fp, "%d", &kusa[i]); } max = kusa[0]; min = kusa[0]; for(k=0; k<NUM; k++){ if(max < kusa[k]) max = kusa[k]; if(min > kusa[k]) min = kusa[k]; printf("NO.%-5d%d\n", k+1, kusa[k]); } printf("最高は%d。\n", max); printf("最低は%d。\n", min); fclose(fp); return 0; } その後、コマンドプロンプトでこれを実行したところ、 ファイルオープン失敗 とでてきました。つまりなんらかの原因で失敗しました。 どうしたら成功できるのでしょうか。教えてください。

  • C言語 ファイルの出力

    こんにちは。 現在C言語学習中でファイルの出力でエラーが発生したのですが、どのようにエラーを起こしているのかわかりません。 ご指摘をお願いします。 #include<stdio.h> int main(void) { FILE *fp = NULL; fp = fopen("test1.txt", "w"); if(fp == NULL){ printf("ファイルをオープンでいませんでした。\n"); return -1; } else{ printf("ファイルをオープンしました。\n"); } fputs("Hello!\n", fp); fputs("Hello World!\n", fp); printf("ファイルに書き込みました。\n"); fclose(fp); printf("ファイルをクローズしました。\n"); int i; scanf("%d", &i); return 0; } エラーの内容は 1>LINK : fatal error LNK1104: ファイル 'C:\Users\拓哉\Documents\Visual Studio 2010\Projects\sample.c\Debug\sample.c.exe' を開くことができません です。現在使用中のC言語環境は上記の通り、Visual Studio 2010です。 学習仕立てで、あまりプログラミングについて知りません。 よろしければ、他に何か間違いがあればご指摘お願いします。

  • 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というのもありましたが・・。) またどこに戻り値を返すのでしょうか? もしファイルがオープンできなければその時点で終了になるのでしょうか?初歩的なところですがお願いします。

  • 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初心者なもんで、どうすればいいのでしょうか?

  • C言語の質問です。クイズをテキストファイルに書き、それを読み込むという

    C言語の質問です。クイズをテキストファイルに書き、それを読み込むというモノなのですが、その前に前回のスコアを読み込み、棒グラフにして出力しなければいけません。また、問題も1行ずつ読み込み正否を判定します。問題のテキストは、「1,問題文 1.○○ 2,○○ 3.○○」とし、頭に解答を書いています。最後に、正解した数をスコアファイルに書き、終了とします。一応、初めてなら、スコアファイルを新規作成し、2回目ならスコアファイルを開く、というところまでは、出来ましたが、その後がどうにも進みません・・。どなたか教えて頂けないでしょうか・・。 #include <stdio.h> int main(void) { FILE *fp; char str[256]; if((fp = fopen("score.txt","r")) == NULL){  printf("このゲームを初めて実行しますね。\nスコアファイルを新規作成します。\n");  fp = fopen("score.txt","w");  fclose(fp);} else{  printf("スコアファイルを読み込みます。\n");  fp = fopen("score.txt","r");  fclose(fp);} return 0; } 一応ここまでは、出来ています。

  • 0x00をファイル出力

    #define TEST 0x00 FILE *fp; UCHAR wbuf[1]; wbuf[0] = TEST; if((fp=fopen("test.txt", "w"))==NULL){  printf("open error\n"); } fprintf(fp,"%s",wbuf[0]); fclose(fp); 以上がプログラムでこれを実行するとtest.txtには 文字化けして書き込まれます。 ファイルに0x00と表示させる為にはどうしたらいいですか?

  • ファイルの入力、出力

    #include<stdio.h> int main(){ int a,b; FILE *fp0, *fp1;   fp0 = fopen("test1.dat", "r"); if( fp0 == NULL ){ printf("Cannot open test1.dat"); exit(1); } fp1 = fopen("file.txt", "w"); while((fscanf(fp0, "%d %d", &a,&b)) != EOF){ fprintf(fp1, "%d %d\n", a*a,b*b); } fclose(fp0); fclose(fp1); return(0); } test1.datファイルを読み込んで、変数a,bに値をいれ、 その二乗結果をfile.txtに書き込むプログラムなのですが test1.datファイルに書き込まれてる値をどのようにa,bに代入されているのかわかりません。 例えば test1.datが 1 2 3 4 5 であると、 file.txtには 1 4 9 16 25 16 と書き込まれています。 test1.datが 1 1 2 2 3 3 であると file.txtには 1 1 4 4 9 9 となっています。 どのように、変数に値が入るのでしょうか??

  • C言語

    C言語で簡単なプログラムを作っているのですが、 「テキストファイルが存在し、かつ空のテキストファイル(開いても何も書かれていない)だと、そのテキストファイルを削除する」 というコードはどうのように書けばいいのでしょうか? 現在自分が考えているのは、 #include<stdio.h> int main(){ FILE *fp; if((fp=fopen("example.txt","r"))==NULL){ printf("file not open\n"); }else if(((fp=fopen("example.txt","r"))!=NULL)&&(fgetc(fp)==NULL)){ //「ファイルがあって、中に何も書かれていない」という条件式を書きたい// remove("example.txt"); } return 0; } 大学で講義としてC言語を習っている程度の知識です。 fopenのif文の書き方があってるかどうかもわからないんですが^^; borland c++ 5.5.1を使用しています。 よろしくお願いします。

  • int型の値をファイルに保存

    int errint(int errnum){  FILE *fp;  if((fp = fopen("error02.txt", "w+b")) == NULL){   printf("ファイルのオープンに失敗しました。\n");   exit(-1);  }  fwrite(&errnum,sizeof(errnum),1,fp);  fclose(fp); } int型の値を受け取ってファイルに 保存する関数を作ったのですが 出力されるテキストが 文字化けしていてうまく動きません。 独習C等の参考書を読んでも自分では分かりませんでした。 どこが間違っているのか教えてください。 よろしくおねがいします。

  • プログラミング<暗号入力プログラム>について

    はじめまして。よろしくお願いします。 現在、大学でプログラミングを習っているhayato2192といいます。 この間、ファイルを開くプログラムというのを習ったのですが、 そのプログラムを利用して何かほかのプログラムが作りたいなぁと思い、 暗号入力するとファイルが開く というプログラムをつくったのですが、 コンパイルはできても一向にファイルが開けないので、 コードをどうかえればいいか、というのを教えてください。 よろしくお願いします。 ちなみに、暗号は文字列が良いです。 コードは以下です ******************************** #include <stdio.h> int main(void) { FILE*fp; char i; int c; printf("START PROGRAM * FP\n"); printf("YOU SHOULD INPUT COAD\n"); scanf(" %s", i); if(i == "fileopen"); { if((fp = fopen("\\PROGRAM\\0123456789100.txt", "r")) == NULL) { printf("YOU CAN'T OPEN"); return 1; } while((c = fgetc(fp)) != EOF) { printf(" %c", c); } } else { printf("YOU CAN'T OPEN"); return 2; } fclose(fp); return 0; } ******************************** オープンするファイルはそんな結滞なもんじゃありません。 よろしくお願いします ただのテキストファイルです。

専門家に質問してみよう