fprintf(格式化输出数据至文件)
这个函数的功能类似于文件操作函数 fwrite();通过一个文件描述符将数据写入该文件描述符所指向的文件中。
函数定义:
- int fprintf(FILE * stream, const char * format,…….);
函数说明 :
- fprintf()会根据参数format字符串来转换并格式化数据,然后将结果输出到参数stream指定的文件中,直到出现字符串结束(‘\0’)为止。
返回值 :
- 关于参数format字符串的格式请参考printf()。成功则返回实际输出的字符数,失败则返回-1,错误原因存于errno中。
fscanf(格式化字符串输入)
这个函数的功能类似于文件操作函数fread();通过一个文件描述符将数据读入到缓冲区中。
函数定义:
- int fscanf(FILE * stream ,const char *format,….);
函数说明:
- fscanf()会自参数stream的文件流中读取字符串,再根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结构存于对应的参数内。
返回值:
- 成功则返回参数数目,失败则返回-1,错误原因存于errno中。
实例:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
char a_buff[128], b_buff[128];
FILE *fp = NULL;
fp = fopen("main.c", "w+")
if(fp == NULL)
{
printf("error...\n");
return -1;
}
printf("input a string(<128):");
scanf("%s", a_buff);
fprintf(fp, "%s", a_buff); //fwrite(a_buff, strlen(a_buff), 1, fd);
fseek(fp, 0, SEEK_SET); // 意义和rewind(fp);相同
fscan