首页 / 资讯中心 / 文章详情

文件定位、文件IO

文件定位、文件IO ★ FEATURED ARTICLE
标准io读写归纳总结fputs和fgets最常用文件定位fseek ftell rewindfseek若从末尾开始向后偏移则偏移多少系统自动补零多少示例ftell示例rewind示例练习复制文本文件内容数一个文件里面字母a~z共出现多少次完成图片的复制文件io介绍操作系统为了方便用户使用系统功能而对外提供的一组系统函数称之为 系统调用systemcallc库是为了通用(跨平台linuxwin )而设计的函数接口。systemcall 直接可以使用linux系统提供的功能。c库是对 systemcall 的封装。c库的函数会调用systemcall中的函数。啥文件都能操作不分文本文件和二进制文件#include unistd.h 的地位等同于 #include stdio.h标准io 文件io的区别1、文件io没有缓存区 文件io更适合操作 设备文件。2、文件io操作对象不在是文件流指针而是文件描述符(很小的非负的整数 0-1023 )每个程序在启动的时候操作系统默认为其打开三个描述符与流对象匹配0 STDIN_FILENO stdin1 STDOUT_FILENO stdout2 STDERR_FILENO stderr 标准错误输出stdin,stdout,stderr,FILE*标准io 文件io各功能对应相关函数open若 flags 位有 O_CREAT 则 mode 位默认写0666write返回值若不是-1或者实际写入的个数没写全用write时 不要用sizeof算长度这样的话只能4k、4k的读若要读的对象是 15k 3×4k 3k则最后3k硬被写到4k了则write后的文件变大了所以针对write要接收read的返回值将该返回值放到write中大小的位置readlseek知识点补充1、a.out能打开的文件就只有1k0~10231024个2、在终端界面输入指令ll能写就是r能读就是w不可以就是-从左至右权限人顺序作者 组成员3、off_t: long int 类型4、stderr判断错误输出例如判断文件是否打开if (-1 fd){fprintf(stderr, open error\n);return 1;}练习使用read/write 实现文件的复制图片实现文本文件的插入功能
阅读完成 · 觉得有帮助?
咨询建站