Win7下 C语言怎么实现读写扇区?
本帖最后由 xtjatqsse 于 2013-02-24 03:35:52 编辑 如题,我使用 CreateFile/ReadFile/WriteFile 写U盘的引导区,但是写完后U盘分区表丢失,且不能启动,通过WinHex查看已经把内容写了进去,就是启动不了,我的代码如下:
char *buffer ;
DWORD actual_read , actual_write ;
if( !( buffer = (char *)malloc(sizeof(char) * ibs) ) )
{
printf( "%s: create buffer error.",progname );
return 0 ;
}
// read
if( !ReadFile( input_file , buffer, ibs , &actual_read , NULL) && ( actual_read > 0) )
{
printf( "%s: read in put files error.", progname );
return 0 ;
}
// write
SetFilePointer(output_file, 512 * 0, 0, FILE_BEGIN);
if( !WriteFile( output_file , buffer, actual_read , &actual_write, NULL) )
{
printf( "%s: write in out files error.", progname );
return 0 ;
}
if( buffer )
free(buffer);