文件操作&字符串操作
底层文件操作
标准文件操作
C语言 打开二进制文件失败 错误信息怎么打印?
fprintf:C 库函数 int fprintf(FILE *stream, const char *format, ...) 发送格式化输出到流 stream 中。
#include<stdio.h>
char *fgets(char *s, intsize, FILE *stream);
char *gets(char *s);
返回值:成功时s指向哪返回的指针就指向哪,出错或者读到文件末尾时返回NULL
fgets从指定的文件中读一行字符到调用者提供的缓冲区中
gets从标准输入读一行字符到调用者提供的缓冲区中,转变成字符串(加'\0')。
没有指定目标缓冲区的大小。
fgets 和 gets 的区别:
fgets :
1.有缓冲区长度限制在。输入超出缓冲区长度时,截断至缓冲区长度减一个字符,在最后一个位置加'\0';输入在缓冲区长度以内,直接在'\n'后边加'\0'。
2.改变输入。fgets操作文本文件没有问题,文本文件没有'\0',所以出现'\0'肯定是fgets给加的。但是二进制文件就不适合了。
gets :
1.去除'\n'
2.加'\0'
1 #include <stdio.h> 2 3 int main() 4 { 5 char buf[6]; 6 gets(buf); 7 printf("%s", buf); 8 9 return 0; 10 }
打印结果:
[root@localhost test]# ./a.out
1234
1234[root@localhost test]# ./a.out
fread 和 fwrite

浙公网安备 33010602011771号