• ベストアンサー

ファイルへの書き込み

VC++をつかって、センサーから取得した数値をテキストファイルに書き込み(上書き保存を続ける)するにはどうしたらいいでしょうか?

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

  • ベストアンサー
回答No.4

附属のサンプルプログラムで表示されているそうですから、おそらくprintf()を使用しているのでしょう。そのフォームをそっくりテキストデータとしてファイル出力したいなら、printf()→fprintf()に変更すれば済むのでは? サンプルプログラム改造の具体例を挙げます。 FILE *fp;   …   if((fp=fopen("sample.txt", "w"))==NULL){     printf("open error\n");     return;   }   …   fprintf(fp, "サンプルのフォームを記述", サンプルの変数を記述);   …   fclose(fp); というところでしょう。ファイルを開くときのエラー終了処理はご自身でお考えください。このやり方でサンプルプログラムを改造できると思います。 "sample.txt"ファイルは、このCプログラムを置いてあるのと同じフォルダにできます。 なおこの記述をまるまるコピーするとコンパイルエラーが出ますので、目視にて処置してください。

その他の回答 (3)

回答No.3

センサーのデータってのは、いったいどういうシロモノなんです? intですか、doubleですか、それともcharですか?

g--san
質問者

補足

加速度、地磁気、ジャイロを用いた3Dモーションセンサーです。 角度、加速度等はdoubleです 電圧信号としてlongも出力されます。

回答No.2

> それをテキストベースでファイルに書き込む方法を知りたいのです それぞれ、マニュアル/ドキュメントを参照してください。 オープン: fopen 書き込み: fprintf クローズ: fclose 例: FILE* fp; fp = fopen("result.txt","a+"); assert(fp != NULL); fprintf(fp, "%d:%s", iVal, sVal); fclose(fp);

回答No.1

どこがわからないのですか? - センサーから数値を取得する - ファイルのオープン(追加書き込みオープンの方法?) - ファイルへの書き込み - ファイルのクローズ

g--san
質問者

補足

申し訳ありません。 センサーからの数値は付属のサンプルプログラムにより、表示することまではできています。 それをテキストベースでファイルに書き込む方法を知りたいのです。 また、書き込みに際してファイルのオープン、クローズ、ロック、アンロック等必要なことがありましたらお教えください。 書き込んだファイルから数値を他のアプリケーションから読み出すことを想定しています。 当方初心者により、よろしくお願いします。

関連するQ&A