ReadFile的,COM和在C NULL字符++

问题描述 投票:1回答:1

我有一个虚拟串口ReadFile函数的一个问题:

char tmp[128];
int multiplo=0;
DWORD err;
COMSTAT stt;

ClearCommError(hcom, &err, &stt);
do{
    if(ReadFile(hcom, tmp, stt.cbInQue, &err, NULL)){
        tmp[err] = '\0';
        memcpy(bfIn+multiplo, tmp, err);
        multiplo = multiplo + err;
    }else
        return 0;
}while(err > 0);

此代码的工作,当ReadFile的得到有效的性格像0×01,0×02,×03 ......但是有一个问题用0x00,代码不读像我所料,我尝试用超级终端和完美的作品。

我在DCB结构中定义:

dcb.fNull = false;

但我仍然有同样的问题,任何帮助吗?

c++ winapi serial-port readfile
1个回答
0
投票

这个问题似乎是不ReadFile的(),而是在你使用TMP的[]作为终止“\ 0”正好是0×00,太。

你说的“不读像我预期”是什么意思?你能否更详细地描述症状?

© www.soinside.com 2019 - 2024. All rights reserved.