目录
开头
大家好,我叫这是我58。今天,我们要学一下关于C语言里的sscanf
函数和sprintf
函数的一些知识。
1.什么是sscanf
函数?
sscanf
函数,来自于头文件stdio.h
,用来从字符串中读取格式化的数据,它的内部是这样的:int sscanf ( const char * s, const char * format, ...);
1,其中,s
代表了读取格式化的数据的地方,format
代表了按哪一种格式来读取,而...
这部分的参数则代表了那些格式化的数据。如果格式的个数小于格式化的数据的个数,那么,多出的格式化的数据就会被该函数忽略。而如果这个函数执行成功,这个函数将返回参数列表中成功读取到的项数。如果这个函数匹配失败,那么就返回EOF
这个代表文件结束的宏。这就是sscanf
函数。
2.什么是sprintf
函数?
而sprintf
函数,也来自于头文件stdio.h
,用来将格式化数据写入字符串,而不是打印在屏幕上,它的内部是这样子的:int sprintf ( char * str, const char * format, ... );
2,其中,str
代表了要写入的字符串,format
代表了用哪种格式写入字符串,...
那的部分则代表了那些格式代表的数据。如果这个函数执行成功,那么这个函数将返回写入的字符个数,跟printf
函数执行成功时返回的值一模一样,而如果这个函数执行失败,那么这个函数就返回一个负数。这就是sprintf
函数。在看到这里之后,接下来就要讲一下sscanf
函数和sprintf
函数的实际应用了。
3.sscanf
函数与sprintf
函数的实际应用
整数转字符串
int main() {
int i = 0;
printf("请输入一个整数 -> ");
scanf("%d", &i);
char str[12] = "";
sprintf(str, "%d", i);
printf(str);
return 0;
}
字符串转单精度浮点数
int main() {
char str[100] = "";
float f = 0.0f;
printf("请输入一个字符串 -> ");
scanf("%s", str);
sscanf(str, "%f", &f);
printf("%f", f);
return 0;
}
判断一个整数是正数还是负数
int main() {
int i = 0;
char ch = 0;
printf("请输入一个整数 -> ");
scanf("%d", &i);
char str[12] = "";
sprintf(str, "%+d", i);
sscanf(str, "%c", &ch);
printf("%d为%s数", i, '+' == ch ? "正" : "负");
return 0;
}
……
下一篇博客要说的东西
穿墙迷宫