代码之家  ›  专栏  ›  技术社区  ›  armandfp

C++中的Read文件、COM和空字符

  •  1
  • armandfp  · 技术社区  · 16 年前

    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);
    

    我在dcb结构中定义了:

    dcb.fNull = false;
    

    但我还是有同样的问题,有什么帮助吗?

    1 回复  |  直到 16 年前
        1
  •  0
  •   Android Eve    15 年前

    问题似乎不在ReadFile()中,而是在使用tmp[]时出现的,因为终止“\0”恰好也是0x00。

    你说“读起来不像我想象的那样”是什么意思?你能更详细地描述症状吗?