WriteFileでintを取り扱うには?

解決


2tom  2004-08-17 18:11:33  No: 54232

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

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

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

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


シャノン  2004-08-17 18:38:52  No: 54233

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

でございます。


2tom  2004-08-17 19:18:03  No: 54234

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


REE  2004-08-17 19:58:52  No: 54235

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

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

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


2tom  2004-08-18 00:11:48  No: 54236

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加