- ベストアンサー
ファイルへの書き込み
VC++をつかって、センサーから取得した数値をテキストファイルに書き込み(上書き保存を続ける)するにはどうしたらいいでしょうか?
- みんなの回答 (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)
- koma1000nin
- ベストアンサー率30% (342/1133)
センサーのデータってのは、いったいどういうシロモノなんです? intですか、doubleですか、それともcharですか?
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
> それをテキストベースでファイルに書き込む方法を知りたいのです それぞれ、マニュアル/ドキュメントを参照してください。 オープン: fopen 書き込み: fprintf クローズ: fclose 例: FILE* fp; fp = fopen("result.txt","a+"); assert(fp != NULL); fprintf(fp, "%d:%s", iVal, sVal); fclose(fp);
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
どこがわからないのですか? - センサーから数値を取得する - ファイルのオープン(追加書き込みオープンの方法?) - ファイルへの書き込み - ファイルのクローズ
補足
申し訳ありません。 センサーからの数値は付属のサンプルプログラムにより、表示することまではできています。 それをテキストベースでファイルに書き込む方法を知りたいのです。 また、書き込みに際してファイルのオープン、クローズ、ロック、アンロック等必要なことがありましたらお教えください。 書き込んだファイルから数値を他のアプリケーションから読み出すことを想定しています。 当方初心者により、よろしくお願いします。
補足
加速度、地磁気、ジャイロを用いた3Dモーションセンサーです。 角度、加速度等はdoubleです 電圧信号としてlongも出力されます。