void LogThread(void)
{
WORD wActual;
BYTE byMessage[128];
WORD *valData;
/* ファイル名取得 */
GetFileName(fileName);
/* すでに存在しているログファイルを削除する */
remove( fileName );
/* ログファイルオープン */
fpLog = fopen(fileName,"w");
if( fpLog == NULL){
WriteErrorProc(1); /* オープンエラー処理 */
}
/* ログファイル出力 見出し1 */
if(fprintf(fpLog, " CH0 1 2 3 4 5 6 7\n") < 0){
WriteErrorProc(2); /* 書き込みエラー処理 */
}
/* ログファイル出力 見出し2 */
if( fprintf(fpLog, "----------------------------\n") < 0){
WriteErrorProc(2); /* 書き込みエラー処理 */
}
fclose(fpLog);
while (1) {
//ログファイルアペンドモードで開く
fopen(fileName,"a+");
valData = (WORD*)byMessage;
/*アナログデータ取り込みスレッド、または擬似データ作成スレッドよりデータ
型メールボックスにてデータを受信 */
wActual = ReceiveRtData(strInfo.hParamMBox, valData
, WAIT_FOREVER);
if (wActual == 0)
/* エラーチェック:データバイト数 0BYTE 時 */
Fail("ログデータ取得エラー");
//ログファイルの書き込み
if(fprintf(fpLog," %4d %4d %4d %4d %4d %4d %4d %4d\n",
valData[0],valData[1],valData[2],valData[3],
valData[4],valData[5],valData[6],valData[7]) < 0)
WriteErrorProc(2); /* 書き込みエラー処理 */
fclose(fpLog);
}
}
|