关于windows API SetFilePointer

13 篇文章 0 订阅


文件大小:100bytes


int ret = SetFilePointer(hudt , 10000, NULL, FILE_BEGIN);	
	if (ret ==INVALID_SET_FILE_POINTER)
	{
		return 0;
	}

返回值ret = 10000,明显越界。

此时调用WriteFile写入64字节数据后,文件大小变为10064byte。


ReadFile不会因为文件指针到达文件尾或者越过文件尾时而失败。


结论:SetFilePointer失败与文件指针越过文件尾无关,文件指针类似于内存指针,存在越界情况。需要通过文件大小与当前文件指针的位置来判断是否越过文件尾。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值