《C PRIMER PLUS》中的种种文件读写函数弄得我有点晕头转向的,总结一下好了。
1/getc(),fgets(),fscanf(),fread()函数
以上所列的四个函数都能从文件中读取数据
#define MAX 100
int location;
char ch, buf[MAX];
double target[MAX];
FILE *fp;
location = getc(fp);// 返回指向当前字符的文件内部位置指示数,然后将此数自增1指向下一个字符
fgets(buf, MAX, fp);// 将文件中的数据读入buf直至遇到换行符或者达到(MAX-1)个字符
fscanf(fp, "字符串+格式", buf);//将文件中的内容按指定格式化读取到buf中(buf不一定为char)
fread(target, sizeof(double), MAX, fp);// 将fp中的MAX个double值复制到target数组中,二进制数据形式读取
//ch = getchar();
//gets(buf);
PS:另有gets(),getchar()是从stdin标准文件中读取数据。
2/putc(),fputs(),fprintf(),fwrite()函数
以上所列四个函数都能向文件写入数据
#define MAX 100
int location;
char ch, buf[MAX];
double target[MAX];
FILE *fp;
putc(location, fp);// 将location指向的字符写入文件fp中
fputs(buf, fp);// 将buf中的数据写入文件fp中
fprintf(fp, "字符串+格式", buf);//将buf中的内容按指定格式化写入文件fp中(buf不一定为char型)
fwrite(target, sizeof(double), MAX, fp);// 将target中的MAX个double值写入文件fp中,二进制数据形式写入
//putchar(ch);
//puts(buf);
PS:另有puts(),putchar()只向stdout标准文件中写入数据。