想要编程读写FAT表 CreateFile 之后 用 ReadFile 可以读入问题是在写的时候 怎样实现写入"00"字符 ?
WriteFile 参数中是个字符指针 遇到"00" 就当作是结束符号了如果想在FAT表项中写入 "00" (这在FAT 目录项中出现得非常多) 该如何操作 ?比如编程在FAT表中写入一个目录项
或者用其他的方法也可以小弟初来乍到 分不多 先谢过各位高手~~~

解决方案 »

  1.   

    BOOL WriteFile(
      HANDLE hFile,
      LPCVOID lpBuffer,
      DWORD nNumberOfBytesToWrite,
      LPDWORD lpNumberOfBytesWritten,
      LPOVERLAPPED lpOverlapped
    );
    MSDN可要看仔细呀,参数明明是LPCVOID也就是void*
    写入的字节数也是nNumberOfBytesToWrite传入的,你的lpBuffer中有多少0x00都会写入文件的
      

  2.   

    还是不太懂 void* 怎么赋值? 还请高手指点
      

  3.   

    BYTE buf[100];
    .........//赋值
    WriteFile(hFile, buf, 100, &dwLength, NULL);
      

  4.   

    不好意思 我很菜 
    之前看到的读取的例子是用 char*
    现在自己编写入的遇到问题
    请楼下的再说的详细一点 非常感谢~~
      

  5.   

    char sz[100];
    memset(sz, "0", 100);
    WriteFile(hFile, sz, 100, &dwWrited, NULL);
      

  6.   

    loomman(一剑):'memset' : cannot convert parameter 2 from 'char [2]' to 'int'???
      

  7.   

    自己解决了 CString ddd;for (int i=0;i<256;i++){ ddd+=char(i);}
    for (int i2=0;i2<100;i2++){ddd+=char(0);}
    for (int i3=0;i3<156;i3++){ddd+=char(i3);}WriteFile ( hDevice, ddd, 512 , &bytesread, NULL)