创建指定大小的文件

方法一:

#include <windows.h> void main() { int size = 24;//24个字节 HANDLE hFile = CreateFile("test.dat", GENERIC_WRITE|GENERIC_READ, FILE_SHARE_READ, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); HANDLE hMap = CreateFileMapping(hFile, 0, PAGE_READWRITE, 0, size, 0);//指定大小,文件将以0填充 void* pMap = MapViewOfFile(hMap, FILE_MAP_READ|FILE_MAP_WRITE, 0, 0, 0); UnmapViewOfFile(pMap); CloseHandle(hMap); CloseHandle(hFile); }

方法二:

#include <windows.h>
void main()
{
	int lDistance = 10240;
	HANDLE hFile = CreateFile("test2.dat", GENERIC_WRITE|GENERIC_READ, FILE_SHARE_READ, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
	SetFilePointer (hFile, lDistance, NULL, FILE_BEGIN) ;
	SetEndOfFile(hFile);//必须调用SetEndOfFile,否则SetFilePointer的修改不生效
	CloseHandle(hFile);
}


两种方法会用0填充满文件,得到的并不是稀疏文件。

你可能感兴趣的:(File,null)