您的位置:首页 > 其它

试图将文件指针移动到文件开头之前

2016-12-29 17:10 260 查看
在Windows上使用ACE::truncate函数时报错:“试图将文件指针移动到文件开头之前”

代码如下:

// 指定文件大小
ACE_OFF_T offset = 3 * 1024 * 1024 * 1024;
if (ACE_OS::truncate("Tick.data", offset) != 0)
ACE_ERROR_RETURN((LM_ERROR,
ACE_TEXT("(%P|%t)[%T] %p\n"),
ACE_TEXT("truncate")),
-1);

原因在于数字字面量默认为int类型,计算时超过int最大值时将会产生负数。

修改代码如下:

// 指定文件大小
ACE_OFF_T offset = ACE_OFF_T(3) * 1024 * 1024 * 1024;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: