一、代码
scanf()、sscanf()、fscanf()
vscanf()、vsscanf()、vfscanf()
1.1 文件abc
事先需要准备好的文件内容:
1.2 代码
#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>
//vscanf()、vsscanf()、vfscanf()
void my_scanf(const char* fmt, ...)
{
va_list arg;
va_start(arg, fmt);
//
vscanf(fmt, arg);
va_end(arg);
}
//scanf()、sscanf()、fscanf()
int main(int argc, char*argv[])
{
int a, b, c;
char buf[] = "11 22 33";
//
scanf("%d", &a);
printf("a is %d\n", a);
//
sscanf(buf, "%d %d %d", &a, &b, &c);
printf("a:%d, b:%d, c:%d\n", a, b, c);
//
FILE* fp = fopen("abc", "r");
if (fp == NULL)
{
perror("open file fail.");
exit(1);
}
fscanf(fp, "%d %d %d", &a, &b, &c);
printf("a:%d, b:%d, c:%d\n", a, b, c);
fclose(fp);
//
my_scanf("%d", &b);
printf("b is %d\n", b);
return 0;
}
二、输出结果