WriteFileでintを取り扱うには?

解決


2tom  2004-08-17 18:11:33  No: 54232  IP: [192.*.*.*]

WriteFileを使用してシリアル通信を行いたいのですが、

HANDLE hComm;    /* シリアルポートのハンドル */
char* pszBuf;    /* 書き込みデータバッファ */
DWORD dwWritten; /* ポートへ書き込んだバイト数 */

WriteFile(hComm, pszBuf, strlen(pszBuf), &dwWritten, NULL);

のようにcharの文字は送信できたのですが、
intの整数を送信するにはどうすればよろしいのでしょうか。
お力添えお願い致します。

編集    削除
シャノン  2004-08-17 18:38:52  No: 54233  IP: [192.*.*.*]

int i = xxxxx;
WriteFile(hComm, &i, sizeof( int ), &dwWritten, NULL);

でございます。

編集    削除
2tom  2004-08-17 19:18:03  No: 54234  IP: [192.*.*.*]

>シャノン様
ありがとうございます。
データの送信はできるようになりました。
しかし、整数(Ex.1234)を送信すると
受信側では「メ◆」と受信されます。
これはなにかの設定ミスでしょうか。

編集    削除
REE  2004-08-17 19:58:52  No: 54235  IP: [192.*.*.*]

整数をどう送信したいのでしょうか?
同じ整数を送るにも数字として送る方法と数値として送る方法があります。

ちなみにシャノンさんの説明されている方法は、数値として送る方法です。

数値として送る場合には、受信側でも数値として受け取る必要があります。
数字として送る場合には、受信側は文字として受け取り、その後数値に変換する必要があります。

編集    削除
2tom  2004-08-18 00:11:48  No: 54236  IP: [192.*.*.*]

シャノン様、REE様ありがとうございました。
無事、解決しました。

編集    削除