在这一系列文章的第一篇C程序设计语言--输入/输出中就用到了格式化输入输出,这里集中将几个函数解释下。
一.fprintf(格式化输出数据至文件)
相关函数 printf,fscanf,vfprintf
表头文件 #include<stdio.h>
定义函数 int fprintf(FILE * stream, const char * format,.......);
函数说明 fprintf()会根据参数format字符串来转换并格式化数据,然后将结果输出到参数stream指定的文件中,直到出现字符串结束('\0')为止。
返回值 关于参数format字符串的格式请参考printf()。成功则返回实际输出的字符数,失败则返回-1,错误原因存于errno中。
范例
- #include <stdio.h>
- #include <stdlib.h>
- int main(int argc, char **argv)
- {
- char a_buf[256], b_buf[256];
- FILE *fp = NULL;
- if(NULL == (fp = fopen("./tmp", "w+"))){
- perror("fopen");
- return(-1);
- }
- printf("input a string(<256):\n");
- scanf("%s", a_buf);
- fprintf(fp, "%s", a_buf);
- // rewind(fp);
- fseek(fp, 0, SEEK_SET); // 意义和rewind(fp);相同
- fscanf(fp, "%s", b_buf);
- printf("%s\n", b_buf);
- fclose(fp);
- return (0);
- }
二、fscanf(格式化字符串输入)
相关函数 scanf,sscanf
表头文件 #include<stdio.h>
定义函数 int fscanf(FILE * stream ,const char *format,....);
函数说明 fscanf()会自参数stream的文件流中读取字符串,再根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结构存于对应的参数内。
返回值 成功则返回参数数目,失败则返回-1,错误原因存于errno中。
附加说明
范例 #include<stdio.h>
三、printf(格式化输出数据)
相关函数 scanf,snprintf
表头文件 #include<stdio.h>
定义函数 int printf(const char * format,.............);
函数说明 printf()会根据参数format字符串来转换并格式化数据,然后将结果写出到标准输出设备,直到出现字符串结束