ftell函数使用注意事项
ftell函数的原型如下:
long ftell(FILE *stream);
主要功能是获取FILE指针在当前文件中的位置。
但在使用文本模式打开文件时,ftell函数返回值不一定跟FILE文件指针在文件中的实际位置对应(因为文本模式下回车换行符会被自动翻译,具体处理需要参考编译器实现)。
当使用附加模式打开文件时,FILE指针指向的当前文件位置是由最后一次文件I/O处理决定的,不是下次可写的文件位置。例如,一个文件使用附加模式打开,并且上次调用的是read函数,则当前文件位置为下一次可读的文件位置。(注意使用附加模式打开的文件在第一次写数据之前系统会自动把文件指针移动到文件末尾。)对于无任何I/O操作的、以附加模式打开的文件指针,默认的文件位置是起始位置(0或SEEK_SET)。
如果需要获取实际的文件大小,在以附加模式打开的文件时需要调用fseek函数,两者配合使用才可以获取正确的文件大小。
更加详细的内容可参考:ftell, _ftelli64
ftell函数使用注意事项的更多相关文章
- 文件操作:fseek函数和ftell函数
1.fseek函数: int fseek(FILE * _File, long _Offset, int _Origin); 函数设置文件指针stream的位置.如果执行成功,stream将指向以fr ...
- C语言ftell()函数
ftell()函数返回指定流的当前文件指针的位置.在文件末尾移动文件指针后,我们可以使用ftell()函数获取文件的总大小.可以使用SEEK_END常量来将文件指针移动文件末尾. ftell()函 ...
- Inline函数使用注意事项
Inline函数使用注意事项 1.在一个文件中定义的inline函数不能再另一个文件中使用 2.inline函数应简洁,只有少数几个语句. 3.在inline函数中不能有循环,if,switch语句. ...
- ftell函数
ftell函数用于得到文件位置指针当前位置相对于文件首的偏移字节数,在随机方式存储文件时,由于文件位置频繁的前后移动,程序不容易确定文件的当前位置. /*** a.txt ***/ asd gsder ...
- PHP ftell() 函数
定义和用法 ftell() 函数返回在打开文件中的当前位置. 返回文件指针的当前位置,如果失败则返回 FALSE. 语法 ftell(file) 参数 描述 file 必需.规定要检查的已打开文件. ...
- C++默认参数与函数重载 注意事项
一.默认参数在C++中,可以为参数指定默认值.在函数调用时没有指定与形参相对应的实参时, 就自动使用默认参数. 默认参数的语法与使用:(1)在函数声明或定义时,直接对参数赋值.这就是默认参数:(2)在 ...
- 移动端二三事【三】:transform的矩阵(matrix)操作、transform操作函数及注意事项
*每当在DOM浏览器中增加动态效果时,使用强大的transform和transition,总是很酸爽.抛开css,使用js操作transform还真的有点复杂,涉及到线性代数中的矩阵,但是js操作又不 ...
- 在ThinkPHP的common.php文件里添加公共函数的注意事项
注意事项: 1.函数不要加public访问控制权限,因为默认就是public的. 2.当你写好了一个新函数后在本地运行发现没有问题,但是在生产环境运行会报错:找不到这个函数,解决方法是删除runtim ...
- 【C/C++】函数的默认参数/函数的占位参数/函数重载/注意事项
函数的默认参数 返回值类型 函数名(参数=默认值){} #include <iostream> using namespace std; int func(int a = 10, int ...
随机推荐
- 关于iOS应用通过OpenURL在设置打开相机权限,然后原应用会立即崩溃(重启)的理解
最近偶然发现的一个怪现象: 应用需要相机权限,如果检测到没有开启权限,我们代码内,通过openURL跳转设置界面 //打开应用设置 let url:NSURL = NSURL(string: UIAp ...
- webservice(草稿)
1. 概述 WebService是一种跨编程语言和跨操作系统平台的远程调用技术. Webservice是被定义用来使不同应用之间通过网络传输数据的一种标准,此标准和具体的语言无关,至于哪种语言提供接 ...
- Android开发环境——SDK相关内容汇总
Android开发环境将分为SDK相关内容.Eclipse ADT相关内容.模拟器AVD相关内容.调试器DDMS相关内容.日志LogCat相关内容.连接驱动ADB相关内容.内存泄露检测工具MAT相关 ...
- linux shell 脚本攻略学习2
1.关于文件描述符和重定向: 文件描述符是与一个打开的文件或数据流相关联的整数.文件描述符0.1以及2是系统预留的. 0——stdin(标准输入) 1——stdout(标准输出) 2——stderr( ...
- Word2Vec中文语料实战
http://blog.csdn.net/gnehcuoz/article/details/52136371
- ASP.NET MVC4中的App_start中BundleConfig的介绍使用
在BundleConfig.cs中,指定CSS和JS,主要用来压缩JS和CSS 在ASP.NET MVC4中(在WebForm中应该也有),有一个叫做Bundle的东西,它用来将js和css进行压 ...
- C#文件夹权限操作工具类
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Sec ...
- MySQL Sleep进程
MySQL中查询当前的连接数: mysql> show status like '%Threads_connected%'; +-------------------+-------+ | Va ...
- hadoop相关内容
数据库导出到hadoop http://www.ibm.com/developerworks/cn/data/library/techarticle/dm-1212liuqy/ http://www. ...
- Android studio 中创建AIDL Service
1.概述 AIDL在android系统中的作用 AIDL,Android Interface definition language的缩写,它是一种android内部进程通信接口的描写叙述语言, ...