扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
c语言标准库中用于打开文件的函数是fopen()。
我们提供的服务有:成都网站设计、成都网站建设、微信公众号开发、网站优化、网站认证、卢氏ssl等。为近千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的卢氏网站制作公司
函数原型:FILE
*
fopen(const
char
*
path,const
char
*
mode);
参数说明:path指明要打开的文件名,mode指明以什么方式打开。详细在下面介绍。
返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno
中。示例如下
#includestdio.h
//根据需要修改成自己要打开的文件即可。
#define F_PATH "d:\\myfile\\file.dat"
int main(void)
{
FILE *fp=NULL;//需要注意
fp=fopen(F_PATH,"r"); //以只读方式打开一个文件
if(NULL==fp)
{
return -1;//要返回错误代码
}
fclose(fp); //打开一个文件停止操作后,要关闭打开的文件
fp=NULL;//需要指向空,否则会指向原打开文件地址
return 0;
}
参数mode的类型:
r
以只读方式打开文件,该文件必须存在。
r+
以可读写方式打开文件,该文件必须存在。
rb+
读写打开一个二进制文件,允许读写数据,文件必须存在。
w
打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+
打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a
以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+
以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
(原来的EOF符不保留)
wb
只写打开或新建一个二进制文件;只允许写数据。
wb+
读写打开或建立一个二进制文件,允许读和写。
ab+
读写打开一个二进制文件,允许读或在文件末追加数据。
C语言标准库函数存放在头文件当中,使用相应函数时需要用include引用先关头文件。
C语言程序设计里,C 标准函数(C Standard library)是所有目前符合标准的头文件(head
file)的集合,以及常用的函数库实现程序,例如 I/O输入输出和字串符控制。不像 COBOL、Forrian和 PL/I等编程语言,在 C
语言的工作任务里不会包含嵌入的关键字,所以几乎所有的 C 语言程序都是由标准函数库的函数来创建的。
下面列出C89及C99中C语言标准函数库的头文件。
C89中标准的头文件
assert.h 设定断言点
ctype.h 字符处理
errno.h 错误报告
float.h 定义与实现相关的浮点值勤
limits.h 定义与实现相关的各种极限值
locale.h 支持函数setlocale()
math.h 数学函数库使用的各种定义
setjmp.h 支持非局部跳转
signal.h 定义信号值
stdarg.h 支持可变长度的变元列表
stddef.h 定义常用常数
stdio.h 支持文件输入和输出
stdlib.h 其他各种声明
string.h 支持串函数
time.h 支持系统时间函数
C99新增的头文件和库
complex.h 支持复数算法
fenv.h 给出对浮点状态标记和浮点环境的其他方面的访问
inttypes.h 定义标准的、可移植的整型类型集合。也支持处理最大宽度整数的函数
iso646.h 首先在此1995年第一次修订时引进,用于定义对应各种运算符的宏
stdbool.h 支持布尔数据类型类型。定义宏bool,以便兼容于C++
stdint.h 定义标准的、可移植的整型类型集合。该文件包含在inttypes.h中
tgmath.h 定义一般类型的浮点宏
wchar.h 首先在1995年第一次修订时引进,用于支持多字节和宽字节函数
wctype.h 首先在1995年第一次修订时引进,用于支持多字节和宽字节分类函数
1)字符串操作
strcpy(p, p1) 复制字符串
strncpy(p, p1, n) 复制指定长度字符串
strcat(p, p1) 附加字符串
strncat(p, p1, n) 附加指定长度字符串
strlen(p) 取字符串长度
strcmp(p, p1) 比较字符串
strcasecmp忽略大小写比较字符串
strncmp(p, p1, n) 比较指定长度字符串
strchr(p, c) 在字符串中查找指定字符
strrchr(p, c) 在字符串中反向查找
strstr(p, p1) 查找字符串
strpbrk(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找该集合的任一元素
strspn(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找不属于该集合的任一元素的偏移
strcspn(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找属于该集合的任一元素的偏移
* 具有指定长度的字符串处理函数在已处理的字符串之后填补零结尾符
2)字符串到数值类型的转换
strtod(p, ppend) 从字符串 p 中转换 double 类型数值,并将后续的字符串指针存储到 ppend 指向的 char* 类型存储。
strtol(p, ppend, base) 从字符串 p 中转换 long 类型整型数值,base 显式设置转换的整型进制,设置为 0 以根据特定格式判断所用进制,0x, 0X 前缀以解释为十六进制格式整型,0 前缀以解释为八进制格式整型
atoi(p) 字符串转换到 int 整型
atof(p) 字符串转换到 double 符点数
atol(p) 字符串转换到 long 整型
3)字符检查
isalpha() 检查是否为字母字符
isupper() 检查是否为大写字母字符
islower() 检查是否为小写字母字符
isdigit() 检查是否为数字
isxdigit() 检查是否为十六进制数字表示的有效字符
isspace() 检查是否为空格类型字符
iscntrl() 检查是否为控制字符
ispunct() 检查是否为标点符号
isalnum() 检查是否为字母和数字
isprint() 检查是否是可打印字符
isgraph() 检查是否是图形字符,等效于 isalnum() | ispunct()
用户需要调用标准库函数,调用前不用重新定义:
一般来说,在文件头加个预处理命令把库函数包含进来就行了,例如在c语言中就是用includestdio.h。
在 C语言程序设计里,C 标准函数库(C Standard library)是所有符合标准的头文件(head file)的集合,以及常用的函数库实现程序,例如I/O 输入输出和字符串控制。不像 COBOL、Fortran 和 PL/I等编程语言,在 C 语言的工作任务里不会包含嵌入的关键字,所以几乎所有的 C 语言程序都是由标准函数库的函数来创建的。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流