0

我正在编写驱动程序并使用 fwrite 将数据记录到文件中。我有一个使用 fwrite 的记录器类。现在我传递指针和大小,但写入文件的数据似乎是 161 字节,而我传递 160 作为长度(通过 ref 调用作为记录器类函数的 arg - fwrite 包装器)。在 5/6 例中,写入 160 字节,但在 1 例中,写入 161 字节。我无法理解如何。

附加信息:我在Win7上。使用VS/DDK,使用Notepad++十六进制编辑器查看数据,数据用'\n'分隔数据标签,以便在记事本中也可以看到。

代码:

size_t AbhiLogger :: addData(const void * data, size_t length)  {
    if(m_pFile== NULL)
        return E_BADFILE;

    return fwrite(data, 1,length, m_pFile);
}

AbhiLogger 封装了路径、文件名和扩展名以及文件句柄。原因是您可以更改名称/extn/path 任何或全部,它会将句柄关联到关闭前一个文件后新打开的句柄。

4

0 回答 0