1.文件操作:
1.1相关函数:定位问题
fseek()函数int fseek(FILE *stream, long offset, int whence);
功能分析:
第一个参数为文件指针,第二个参数表示偏移量,第三个参数表示从什么地方开始偏移
返回值为0 表示成功,-1表示失败
whence的数值:
SEEK_SET 文件的起始位置 0
SEEK_CUR 文件的当前读写位置 1
SEEK_END 文件的末尾位置 2 此时指针指向的位置是文件最后一个字符的下一个位置
注意:
(1)如果偏移量是正数,表示从文件开头向文件末尾的方向移动,如果偏移量是负数,那么向文件开头的方向移动、
(2)SEEK_END 表示文件中最后一个字符的下一个位置
echo -n abcdefghijklmn > b.txt ===》表示b.txt中的数据内容没有换行符,
这样SEEK_END 往前偏移一个字节的位置指向的内容就是n,而不是“控制字符 LF = 10”
1.2 ftell和 rewind函数
long ftell(FILE *stream);功能:表示将stream指向文件的读写位置偏移量通过返回值返回出来,偏移量指的是以文件开头位置为基准
void rewind(FILE *stream);
功能:表示将stream指向的文件读写位置移动到文件的开头
1.3 fread 和fwrite函数
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
描述:
第一个参数表示内存地址,第二个参数为每一个数据的大小,第三个参数为数据的个数,第四个参数为具体的文件!
功能:
fread :表示将文件中的数据读取出来存储到ptr指向的内存中
fwrite :表示将ptr指向的内存中的数据存储到文件中返回值:返回值为成功读写的数据的个数;
1.4 feof函数
int feof(FILE *stream);功能: 参数为文件指针,用于测试是否到达文件的尾部
返回值:到达尾部返回值为1,否则为0
2.其它函数
qsort 用于排序的函数#include <stdlib.h>
void qsort(void *base, size_t nmemb, size_t size,int(*compar)(const void *, const void *));
int atoi(const char *nptr);
atoi/atol 用于将字符串转换为int / long类型
如:“1234”——》1234 一个一个取出乘以权值并累加求和
3.常见的头文件
assert.h 断言,包含了assert宏,如果条件不成立,程序中断ctype.h 字符处理的相关函数 如isdigit isalpha
stdio.h 输入输出的相关函数
errno.h 错误信息的相关函数
math.h 数学公式的相关函数
string.h 字符串处理的相关函数
stdlib.h 一些工具函数,比如生成随机数
time.h 时间相关函数
stdbool.h bool类型的头文件