我用readfile读取一个txt文件,txt的文件内容只有123456一共6个字节
ReadFile(hFile,pBuf,nFileSize,nReal,nil);之后,重写到文件的后面
为何写后的txt内容是1234561234 (最后有二个空格),而不是123456123456呢! 部分代码如下: nFileSize:= GetFileSize(hfile,nil);
if nFileSize<>0 then begin
GetMem(pBuf, sizeof(BYTE)* nFileSize); //分配空间
pBufTemp:=pBuf; //保留原始指针位置
SetFilePointer(hFile,0,nil,FILE_BEGIN);
ReadFile(hFile,pBuf,nFileSize,nReal,nil);
SetFilePointer(hFile,0,nil,FILE_End);
WriteFile(hFile,pBuf,nFileSize,nReal,nil);
freemem(pBufTemp);
CloseHandle(hFile);
end;
ReadFile(hFile,pBuf,nFileSize,nReal,nil);之后,重写到文件的后面
为何写后的txt内容是1234561234 (最后有二个空格),而不是123456123456呢! 部分代码如下: nFileSize:= GetFileSize(hfile,nil);
if nFileSize<>0 then begin
GetMem(pBuf, sizeof(BYTE)* nFileSize); //分配空间
pBufTemp:=pBuf; //保留原始指针位置
SetFilePointer(hFile,0,nil,FILE_BEGIN);
ReadFile(hFile,pBuf,nFileSize,nReal,nil);
SetFilePointer(hFile,0,nil,FILE_End);
WriteFile(hFile,pBuf,nFileSize,nReal,nil);
freemem(pBufTemp);
CloseHandle(hFile);
end;
解决方案 »
- 很奇怪的SQL查询速度变慢问题
- 一个简单的数据查询问题
- D6上怎么用D7的TXPManifest控件呀?
- 如何提取应用程序对话框里显示的数据复制到word中?
- 请问能根据网卡MAC地址来设计进行点对点通讯吗?
- 数据库超时的问题:read from the server has time out.
- 提取OleVariant中的值
- 用delphi怎么实现象word那样在编辑文本时插入图象,最好有代码,实在不行给个思路。
- 如何提高軟件質量???
- DB 和 DBF 使用起来有很大分别
- 我在form1的单元文件unit1的type里Tform1类添加了一句 grouplist : tstringlist;
- 怎样知道一个函数在调用的过程中实参的数量?
跟踪发现1234保存在pBuf里,56保存在pBufTemp里。
const MaxBufSize=1024;
var pBuf:array[0..MaxBufSize-1]of byte;
hFile:Thandle;
nFileSize:integer;
nReal:DWORD;
begin
hFile:=CreateFile(PChar('f:\1.txt'),GENERIC_ALL,FILE_SHARE_READ,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL ,0);
nFileSize:= GetFileSize(hfile,nil);
if nFileSize<>0 then
begin
SetFilePointer(hFile,0,nil,FILE_BEGIN);
ReadFile(hFile,pBuf,nFileSize,nReal,nil);
SetFilePointer(hFile,0,nil,FILE_End);
WriteFile(hFile,pBuf,nFileSize,nReal,nil);
CloseHandle(hFile);
end;
end;