一 sscanf和sprintf
如下:
//sscanf
#include <stdio.h>
void main()
{
int a,b;
char str[20] = "12.34";
int input = sscanf(str,"%2d.%2d",&a,&b);
printf("input=%d,a=%d,b=%d\n",input,a,b);
printf("%s\n",str);
}
结果为
input=2,a=12,b=34
12.34
//sprintf
#include <stdio.h>
#include <stdlib.h>
void main()
{
int a,b;
a = 20,b = 30;
char str[20];
int input = sprintf(str,"%d%d",&a,&b);
printf("str=%s\n",str);
printf("input=%d,a=%d,b=%d\n",input,a,b);
}
结果为
str=12450521245048
input=2,a=20,b=30
二 fscanf和fprintf
如下:
//fscanf
#include <stdio.h>
#include <stdlib.h>
void main()
{
int a,b;
FILE *fpInput;
if((fpInput = fopen("input.txt","r")) == NULL)
{
printf("file read fail !\n ");
exit(1);
}
//file input.txt
//==>2312 4523 6756 98 90
int input = fscanf(fpInput,"%d%d",&a,&b);
printf("input=%d,a=%d,b=%d\n",input,a,b);
}
结果为
input=2,a=2312,b=4523
//fprintf
#include <stdio.h>
#include <stdlib.h>
void main()
{
int a,b;
FILE *fpInput;
if((fpInput = fopen("input.txt","w")) == NULL)
{
printf("file read fail !\n ");
exit(1);
}
a = 20,b = 30;
int input = fprintf(fpInput,"%d%d",&a,&b);
printf("input=%d,a=%d,b=%d\n",input,a,b);
}
结果为
//input.txt文件的内容为:12450521245048
input=2,a=20,b=30
本文详细介绍了C语言中的sscanf和sprintf函数的使用方法及区别,通过具体实例展示了如何正确地进行字符串到整数的转换和格式化字符串输出,并对比了fscanf和fprintf在文件读写操作中的应用。文章旨在帮助读者掌握这些基本而又重要的输入输出技术,提升编程能力。
565

被折叠的 条评论
为什么被折叠?



