您的位置:首页 > 其它

关于sscanf与sprintf的简单的相关用法

2018-01-23 17:22 337 查看
  在处理字符串问题上,C中常常使用sscanf与sprintf来解决此类问题。

  要想理解好这两个函数的用法,不妨类比一下scanf 与 printf。事实上,两者可以表示成下面两种形式:

  scanf(screen,"%d",&n);
  printf(screen,"%d",n);
可以知道,scanf 就是将screen上的数值输入到 n 里,也就是说输入方向是 :从左到右。

            printf 就是将 n 中的数值输出到 screen 上,也就是说输出的方向是:从右到左。 

  在这里我们不妨假设字符数组定义为:char str[100];

1.sscanf

  可以理解为:string+scanf 。格式为sscanf(str,"%d",&n);   此写法的作用是:将str中的内容以“%d”的形式写到n中,即从左到右。示例如下:

#include <stdio.h>
int main(){
int n;
char str[100] = "123";
sscanf(str,"%d",&n);
printf("%d",n);
return 0;

}2.sprintf
  可以理解为:string + printf。格式为sprintf(str,"%d",n);此写法的作用是:将n以“%d”的形式写到str数组中,即从右至左。示例如下:

#include <stdio.h>
int main(){
int n = 233;
char str[100];
sprintf(str,"%d",n);
printf("%s",str);
return 0;

}综上述,我们可以知道将“%d”替换成“%s”或者 “%f”等等,还可以与正则表达式联合使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C