lseek:用来调整光标的位置
lseek(文件描述符,光标移动的位置数,光标移动的形式)
SEEK_SET:将光标移动到文件开头在增加相应的offset位置
SEEK_CUR:将光标移动到文件的当前位置再往后加offset的位置
SEEK_END:将光标移动到文件的末尾在增加offset的位置
lseek函数返回值:返回值是从文件开头到光标位置有多少个字符
计算字符串长度
ftruncate:将指定的文件大小修改成length指定的大小(用来给文件扩容,如果指定的大小小于当前文件,那就删除后面的数据)
ftruncate(int fd,length)
stdio.h:C的标准输入输出库:I/O(input、output)
1.stdout:输出流
行缓冲:stdout在终端上进行输出的时候,输出的规则为每当出现新的换行符的时候进行一次刷新缓存,然后在进行操作(printf输出的时候,是看到换行符才进行输出)
fopen():r:只读
w:只写:如果文件不存在,创建一个新的,如果文件存在,清空原先文件的文件内容
a:追加:不存在,创建一个新的,如果存在在文件末尾进行追加
r+:可读可写,文件不存在,打开失败
w+:打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a+:以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
fclose(fp)
fread
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
ptr:字符串指针
size:读取每个字符的大小
nmemb:读多少个字符
stream:文件描述符指针
size_t fwrite(const void *ptr, size_t size, size_t nmemb,FILE *stream);
读字符的家族:getc:从文件里读取一个字符getc(fp)返回值:当读到文件末尾五字符的时候,返回EOF(NULL)
fgetc:函数调用
getchar():将字符从unsigned char转换为int进行返回
带走缓冲区里多余的换行符