c语言中 文件的字符串输入函数是6,【C语言】文件操作及输入输出格式(文件常用的库函数)...
参考中国大学MOOC 浙江大学翁恺C语言程序设计在线课程
目录
常用文件输入输出符号格式及标准
常用应用对象为文件的库函数简介:
库函数部分:
文件创建、打开、阅读:
数据块写入读出(只有这两个函数可以对二进制文件进行数据操作):
字符及字符串写入读出:
格式化读写函数:
其他函数:
符号和格式部分:
常用文件输入输出符号格式及标准
常用应用对象为文件的库函数简介:
文件的创建打开阅读
数据块的写入读出
字符串及字符的写入读出
格式化读写
其他常用函数
库函数部分:
文件创建、打开、阅读:
1、fopen:
功能:见下表指令集
声明源代码:FILE * fopen(const char * path,const char * mode);
path:文件名
mode:指令集(见下表)
示例:包含文件地址的指针变量 = fopen("文件名" , "指令'');
返回值:文件的指针
fopen
r
打开只读
r+
打开读写,从⽂件头开始
w
如果不存在则新建,如果存在则清空
w+
打开读写。如果不存在则新建,如果存在则清空
a
打开追加。如果不存在则新建,如果存在则从⽂件尾开始
..x
如果⽂件已存在则不能
2、fclose:
声明源代码:int fclose(FILE *fp);
功能:关闭fp指向的文件(一个文件同时只能被一个用户打开,所以对文件的操作执行完毕后要关闭文件)
返回值:如果成功关闭,fclose()函数返回0,否则返回EOF。
数据块写入读出(只有这两个函数可以对二进制文件进行数据操作):
3、fwrite:
声明源代码:int fwrite(const void* ptr, int size, int count, FILE* fp);
功能:从ptr指向的地方读取count个size大小的数据写入fp指向的文件中(若指针指向的位置后方有数据会被新写入的数据覆盖)
返回值:返回成功写入数据块个数(所有正常写入应该为count)
4、fread:
声明源代码:int fread(void *ptr, int size, int count ,FILE *stream);
功能:从fp指向的文件中读取size个字节的数据,读取count次存入ptr指向的数据块中。
返回值:返回的是成功读取到的字节数。
字符及字符串写入读出:
5、fgetc:
声明源代码:int fgetc(FILE *stream);
功能:从stream指向的文件中读取一个字节的数据。
返回值:返回所读取的一个字节。如果读到文件末尾或者读取出错时返回EOF。
6、fputc:
声明源代码:int fputc(char ch, FILE *stream);
功能:向stream指向的文件中写入ch;
返回值:返回的时写入等价的字符的ASCII码值,出错是,返回EOF(-1)。
7、fgets:
声明源代码:char *fgets(char *str, int size, FILE *stream);
功能:向stream指向的文件内写入str数组中的size字节的数据。
返回值:调用成功,将读取的字符串返回,使用fgets函数读取的时候会自动在字符串后边加上一个‘\0’,失败返回NULL。
8、fputs:
声明源代码:int fputs( const char * Str, FILE * File);
功能:向File指向的文件中输出Str指向的字符串( 可在文件指针处填写stdout(标准输出) )
返回值:如果写入成功,则返回非0,此时编译器默认为返回1;如果写入错误,则返回EOF。
格式化读写函数:
(下方提到的字符串也做格式串)
9、fscanf:
声明源代码:int fscanf(FILE *stream, const char *format, ...);
功能:从stream指向的文件读取字符串到... 。fscanf遇到空格和换行时结束(fgets遇到空格不结束)。
示例:fscanf(fp ,"%d" , &obj)
返回值:返回实际读取的数据个数,出错或者到结尾返回EOF。
Tips:fscanf与scanf函数的区别在于scanf是从标准输入(键盘)读取数据,而fscanf是从指定的文件中读取数据。
10、fprintf:
声明源代码:int fprintf(FILE *stream, const char *format, ...);
功能:将format指向的字符串写入文件...取决于字符串中待填入项目(%d等)的多少。(当文件区填入stderr时输出至屏幕)
示例:fprintf(fp, obj);(可以不填...中的内容使仅仅输出字符串到文件)
fprintf(fp, "%d",obj);(类比于printf)
返回值:本次写入操作写到文件中的字节数。
Tips:fprintf与printf的不同之处在于printf是写入到标准输出(屏幕),而fprintf是将数据写入到指定的文件中去。
其他函数:
11、fseek(控制文件指针偏移):
声明源代码:int fseek(FILE *fp, long offset, int whence);
whence是指偏移方式。有如下三种值可选:
SEEK_SET 从距文件开头offset 位移量为新的读写位置.
SEEK_CUR 以目前的读写位置往后增加offset 个位移量.
SEEK_END 将读写位置指向文件尾后再增加offset 个位移量.
功能:将fp指向文件的文件指针按whence的偏移方式,偏移offset个偏移量
示例: fseek(fp, -(long)sizeof(int), SEEK_END);
返回值:调用成功返回0,失败返回-1,error存放错误代码。
12、ftell(获取当前文件指针位置):
声明源代码:long ftell( FILE * File);
功能:获取File指向的文件的位置指针相对于文件头指针的位移量
返回值:无返回值。
13、rewind(将文件指针指向文件开头):
声明源代码:void rewind( FILE * File);
功能:使File指向的文件的位置指针指向首地址。
返回值:当前读写位置偏离文件头部的字节数,操作失败返回1L。
14、feof(判断文件指针是否指向文件尾)(只适用于文本文件不适用于二进制文件):
声明源代码:void feof( FILE * File);
功能:检测File指向的文件的位置指针是否指向文件尾。
返回值:是则返回1,不是则为0。
15、ferror(检查文件操作错误函数):
声明源代码:int ferror( FILE * File);
功能:检测File指向的文件的读写是否出错。
返回值:是则返回1,不是则为0。
Tips:在调用fopen,fclose函数后会产生一个新的ferror的函数值所以应该在,文件的打开关闭操作后尽快判断
16、clearerr(清除出错标志和文件结果标志)
声明源代码:void clearerr( FILE * File);
功能:清除File指向的文件的文件出错标志和结果标志。
返回值:无返回值。
—————————————————————————————————————————————————
符号和格式部分:
格式化的输⼊输出
• printf
• %[flags][width][.prec][hlL]type
• scanf
• %[flag]ty
%*[^,] (逗号前的东西都舍去)
%[^,] (作为字符串读入)
c语言中 文件的字符串输入函数是6,【C语言】文件操作及输入输出格式(文件常用的库函数)...相关推荐
- java 汉字个数_java语言中如何获取字符串中汉字的个数
java语言中如何获取字符串中汉字的个数? [实例描述] 字符串中可以包含数字,字母.汉字或者其他字符.使用Character 类的isDigit()方法可以判断字符中的某个字符是否为数字,使用Cha ...
- c语言如何赋值空字符串,c语言中如何给字符串数组赋值
c语言中如何给字符串数组赋值 1.问题 这是我写的 struct student { int x; char name[10]; }; void main() { student st: st.nam ...
- C语言中字符型和字符串型的对比
C语言中字符型和字符串型的对比 字符型: C语言中字符用单引号括起来,存储方式以ASCII编码二进制形式存储,占用一个字节 如:'a','b','c','A'等 注意:在C语言 ...
- c语言中函数名可不可以由用户命名,C语言中变量名及函数名的命名规则与驼峰命名法...
在程序设计中,变量名.函数名.数组名等统称为标识 符.简单地说,标识符就是一个名字.除库函数的函数名由系统定义外,其余都由用户自定义.C语言规定,标识符只能由字母(a-z,A-Z).数字 (0-9). ...
- c语言中不能编译,为什么`int;`可以在C语言中很好地编译,而在C ++中却不能?
考虑以下程序(请参见此处的现场演示). #include int main(void) { int ; // Missing variable name puts("Surprise&qu ...
- c语言常用字符串处理函数6,【总结】C语言中常见的字符串处理函数
------------------------------------------------------------------------------------------- C语言中没有字符 ...
- c语言中用于获取字符串长度的函数是,C语言中求字符串长度的函数的几种实现方法...
C语言中求字符串长度的函数的几种实现方法 1.最常用的方法是创建一个计数器,判断是否遇到'\0',不是'\0'指针就往后加一. int my_strlen(const char *str) { ass ...
- json c语言 数组转字符串数组中,json和字符串/数组/集合的互相转换の神操作总结...
一:前端字符串转JSON的4种方式 1,eval方式解析,恐怕这是最早的解析方式了. function strToJson(str){ var json = eval('(' + str + ')') ...
- c语言中字符怎么表示6,6、C语言中的字符串
一.C语言中的字符串 字符串是一种重要的数据类型,但是C语言并没有显示的字符串数据类型,不像java有String ,OBC有NSString等等.所以C语言中的字符串一般以字符串常量的形式出现或者存 ...
最新文章
- android 加载器loader详解
- python 排序 自定义函数
- 【总结】在VirtualBox上面安装Mac的注意事项
- 实战SSM_O2O商铺_26【商品类别】批量新增商品类别从Dao到View层的开发
- C语言结构体里的成员数组和指针
- 太骚了!Python模型完美切换SAS,还能这么玩。。
- [LeetCode] 169. Majority Element 多数元素
- onvif协议之抓图
- scikit-learn 算法的通用形式
- Axure原型图教程
- Jetty 安全漏洞分析
- Unity利用SMSSDK实现短信验证码(附源代码)
- c语言 程序数据要五行输出,C语言编程入门之--第三章编写第一个C语言程序
- 【起航计划ObjC 001】印第安老斑鸠ObjC的幻想 ---- Ubuntu下安装并使用Obj-C
- Newton tangent method
- Redis、ES、Nginx和RabbitMQ面试回忆
- java公路车为什么会被喷,最全指南
- MacOS 更新系统或XCode终端Git报错
- QR分解的三种实现方法
- kali linux 修改用户名密码
热门文章
- why I need register Apache CXF as servlet
- my Note debug - add to function
- OPPORTUNITIES_GET_ENTITY not implemented in data provider class
- block size in download header
- Marketing Cloud tile的semantic信息
- Cloud for Customer里的Shell menu manager
- My Opportunity应用点击Edit后出现time out的错误分析
- SAP Cloud Connector里的virtual host和internal host有什么区别
- 如何远程调试部署在CloudFoundry平台上的nodejs应用
- 如何使用trace模式运行BRF+应用