• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ReadFileでエラーが出ます。)

ReadFileでエラーが出ます

このQ&Aのポイント
  • シリアルポートで非同期でバイナリを受信するプログラムを作成しています。
  • 受信部分は以下のソースです。これで実行すると「データ受信エラー」のダイアログが出ます。
  • GetLastErrorでは998(メモリロケーションへのアクセスが無効です。)が得られました。

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

  • ベストアンサー
  • tokichim
  • ベストアンサー率42% (88/205)
回答No.3

> 以下のように書いて実行するとエラーが1つでるのですが、何か間違えていますでしょうか? 失礼。rdBuf変数が配列とポインタで名前がかぶってましたね。 どっちかの名前を変えてください。 #define RDBUF_SIZ 1 char rdDataBuf[RDBUF_SIZ]; char *rdBuf; rdBuf = &rdDataBuf[0]; dwCount = RDBUF_SIZ;

meeyooyoo
質問者

お礼

有難うございました! うまくできました。 tokichimさん、本当に有難うございました。

その他の回答 (2)

  • tokichim
  • ベストアンサー率42% (88/205)
回答No.2

> rdBufとdwCountにはどんな値を入れたらいいのでしょうか? 正直いうと、このくらいはReadFile()のマニュアルを見てほしいのですが。 一応答えると、データを格納するバッファへのポインタと、読み込もうとするサイズです。 1バイトだけ読み込みたいのなら、 #define RDBUF_SIZ 1 char rdbuf[RDBUF_SIZ]; rdbuf = &rdbuf[0]; dwCount = RDBUF_SIZ; みたいな感じ。

meeyooyoo
質問者

補足

tokichimさん、有難うございます。 以下のように書いて実行するとエラーが1つでるのですが、何か間違えていますでしょうか? #define RDBUF_SIZ 1 char rdBuf[RDBUF_SIZ]; rdBuf = &rdBuf[0]; DWORD dwCount; dwCount = RDBUF_SIZ; (3行目)error C2440: '=' : 'char *' から 'char [1]' に変換することはできません。

  • tokichim
  • ベストアンサー率42% (88/205)
回答No.1

rdBufとdwCountに値を入れてないようですが。

meeyooyoo
質問者

補足

有難う御座います! rdBufとdwCountにはどんな値を入れたらいいのでしょうか?

関連するQ&A