对文件操作过程中的小心得
来源:互联网 发布:s8符文 知乎 编辑:程序博客网 时间:2024/06/04 23:20
ch = fgetc(fp)是对fp文件进行去一个字符,但是要注意的是,ch读完之后,fp已经发生1个字节的偏移了,假如下面还要对fp进行操作,就需要重新进行fseek。
fputc('\n', fp)写入一个字符到fp文件中,
fgets读取一串字符:fgets(buf, 255, fp);读完整个文件返回NULL,fopen也是返回NULL(假如出错的话)。假如fegets读取小于一行的字节数,那么读到的是设置是字节数-1个字节数,假如读取范围是一行字节数加2的,那么读取一整行,包括\n,在结尾加上\0
文件结束符EOF==end of file
while(fgetc(fp) != EOF)
fgets:
从文件结构体指针stream中读取数据,每次读取一行。读取的数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufsize个字符赋'\0'),如果文件中的该行,不足bufsize个字符,则读完该行就结束。函数成功将返回buf,失败或读到文件结尾返回NULL。因此我们不能直接通过fgets的返回值来判断函数是否是出错而终止的,应该借助feof函数或者ferror函数来判断。
stream文件流指针体指向文件内容地址的偏移原则
如果使用fgets()读取某个文件,第一次读取的bufsize为5,而文件的第一行有10个字符(算上'\n'),那么读取文件的指针会偏移至当前读取完的这个字符之后的位置。也就是第二次再用fgets()读取文件的时候,则会继续读取其后的字符。而,如果使用fgets() 读取文件的时候bufsize大于该行的字符总数加2(多出来的两个,一个保存文件本身的'\n'换行,一个保存字符串本身的结束标识'\0'),文件并不会继续读下去,仅仅只是这一行读取完,随后指向文件的指针会自动偏移至下一行。
- 对文件操作过程中的小心得
- 开发中的小心得
- FileChannel、ByteBuffer对文件操作过程对比
- Elon Musk:得对人工智能小心点
- 毕设过程中的一点小心得
- 程序员成长中的一点小心得
- Android开发过程中的小心得
- 浅谈工作中的几点小心得
- 小心得
- 小心得
- 小心,得!
- 小心得
- 小心得
- 我对学习编程的一点点小心得
- rails项目编写中的一些小技巧小心得
- java中的private static变量的小心得
- 文件读操作过程探究
- freetext一点小心得
- awk linux
- sysbench安装(CentOS5.8\MySQL5.6\sysbench-0.4.12)
- (JAVA)多线程
- python之nosetests自动化测试框架感知
- MySql中 locate()、substr()的结合使用
- 对文件操作过程中的小心得
- vim 黏贴代码时的自动缩进问题
- opendaylight学习笔记——Flows
- RK-Android方案编译与烧录升级指导
- Java虚拟机(JVM)参数配置说明
- IE下获取不到Response添加的cookie的解决方法
- (JAVA)反射
- google ProtoBuf开发者指南
- 【性能优化】之 BITMAP 及分区表 的演示