文件操作
绝对路径,要用\\
相对路径针对在工程文件内的文件;
fgets(char* a, int n , FILE* pf);
从pf里读n个字符,放到a里面,
末尾会自己补\0,需要多读一位。
perror函数,perror("fopen");与printf("%s", strerror(errno));等价
流(stream)与文件
所以:
printf("%d", s);
fprintf(stdout, "%d", s);
等价
fread与fwrite:
以二进制读取/写入数据
sprintf sscanf
通讯录再次更新
这是从文件中加载联系人的代码,
注意点:
1.不可直接把联系人全部加载进去,会溢出,要创建一个中间变量做缓冲,一个一个加载,如果空间不足,就扩容
2.中间变量要勇敢peoinfo而不是contact,我们只需要联系人的信息,不需要count和capacity
3.记得关闭文件
文件随机读写
fseek(文件指针,偏移量有正负,偏移起始位置)
偏移起始位置有三种内容
读取文件中的内容更加灵活
ftell
当前位置与原始位置的偏移量
rewind