试图将文件指针移动到文件开头之前
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;
代码如下:
// 指定文件大小
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;
相关文章推荐
- 不安装oracle,使用plsql连接oracle
- 什么是正则表达式?在JavaScript中,如何应用正则表达式?
- Android滑动冲突解决
- eclipse导入Spring框架
- 如何获取这个JSON里面的两个值?
- Java学习笔记之二《访问权限控制》
- opencv学习笔记(十一)利用鼠标画出一个矩形
- C语言不定参数函数编写
- Mysql忘记密码咋办?
- firewalld防火墙
- 详解iOS按钮暴力点击的便捷解决方案
- C语言学习12-3
- UiAutomator自定义一个获取所有权限的方法
- BZOJ2818 Gcd
- Data too long for column 'transportation_type' at row 1
- Android 自定义阴影进度实现仿QQ图片上传
- ZCMU-1608
- BZOJ1922: [Sdoi2010]大陆争霸
- 类中定义枚举
- Android编译出现The file does not exist for the external tool