格式化输入输出函数
格式化IO输出
int printf(const char* format, ....);
int fprintf(FILE *fp, const char*format, ...);
int sprintf(char *buf, const char*format, ...);
(1)printf,是把格式化字符串输出到标准输出(一般是屏幕).
(2)sprintf,是把格式化字符串输出到指定字符串,所以参数比printf多了个char * ,那就是目标字符串的地址.
(3)fprintf,是把格式化字符串输出到指定文件中,所以参数比printf多了个文件指针File * ,那是目标文件的文件描述符(文件流指针)
测试程序
#include<stdio.h>
int main()
{
char str1[] = "Hello world";
char str2[] = "World Hello";
char str3[1024] = {0};
FILE *stream = fopen("fprintf.out","w");
sprintf(str3,"%s%s",str1,str2);
printf("%s\n",str3);
fprintf(stream,"%s a %s",str1,str2);
fclose(stream);
}
格式化IO输入
int scanf(const char* format, ....);
int fscanf(FILE *fp, const char*format, ...);
int sscanf(char *buf, const char*format, ...);
scanf 从控制台输入
fscanf 从文件输入
sscanf 从指定字符串输入
测试程序
#include <stdio.h>
#include <stdlib.h>
char *tokenstring = "12:34:56-7890";
char a1[3], a2[3], a3[3];
int i1, i2;
int main(void)
{
sscanf(tokenstring, "%2s:%2s:%2s-%2d%2d", a1, a2, a3, &i1, &i2);
printf("%s\n%s\n%s\n%d\n%d\n\n", a1, a2, a3, i1, i2);
return 0;
}