格式化输出
#include <stdio.h>
int printf(const char *fme, ...);输出到屏幕上
int fprintf(FILE *stream, const char *fme,...);输出到文件中
int sprintf(char *s,const char *fmt,...);输出到字符串中
成功时返回输出的字符个数;出错时返回EOF
sprintf使用起来很方便。
#include <stdio.h>
int main(int argc, char *argv[])
{
char buff[100];
int year = 2021;
int month = 10;
int day = 1;
sprintf(buff,"%d-%d-%d",year,month,day);//将变量输出到字符串变量buff中
printf("%s\n",buff);//输出到屏幕上
}
#include <stdio.h>
int main(int argc, char *argv[])
{
int year = 2021, month = 10, day = 1;
FILE fp;//创建文件指针
fp = fopen("1.txt","w");//以只写模式打开文件
if (fp == NULL)//判断文件是否打开成功
{
perror("fopen");//若文件打开不成功,打印错误信息
return 0;
}
fprintf(fp,"%d-%d-%d\n",year,month,day);//将变量中的数据输出到打开的文件中
}
//最终文件中的数据为2021-10-1;
格式化输入
int sscanf(const char *str,const char *format,...);//将字符串中的内容输入到变量中
#include <stdio.h>
int main(int argc, char *argv[])
{
int syear,smonth,sday;
char buff[100];
int year = 2021;
int month = 10;
int day = 1;
sprintf(buff,"%d-%d-%d",year,month,day);//将变量输出到字符串变量buff中
sscanf(buff,"%d-%d-%d",&syear,smonth,sday);//将字符串中的数据输入到变量中
printf("%d-%d-%d\n",syear,smonth,sday);
}
//最终输出结果为2021-10-1
int fscanf(FILE *stream,const char *format...);//将文件中的内容输入到变量中
#include <stdio.h>
int main(int argc, char *argv[])
{
int year = 2021, month = 10, day = 1;
FILE fp;//创建文件指针
fp = fopen("1.txt","w");//以只写模式打开文件
if (fp == NULL)//判断文件是否打开成功
{
perror("fopen");//若文件打开不成功,打印错误信息
return 0;
}
fprintf(fp,"%d-%d-%d\n",year,month,day);//将变量中的数据输出到打开的文件中
fscanf(fp,"%d-%d-%d\n",&year,&month,&day);//将文件中的数据输入到变量中
}
注意:当同时使用输入输出函数时,要格式一致,否则会无法输入/输出