sprintf和sscanf的简单用法(c语言)

首先普通的printf和scanf用法是这样的

scanf("%d",&n);
printf("%d",n);

但其实默认是这样的

scanf(screen,"%d",&n);//都是面向screen
printf(screen,"%d",n);
//scanf的顺序是从做左到右
//printf的顺序是从右到左

所以sscanf和sprintf就是面向str

sscanf(str,"%d",&n);  //str[100]是字符数组  即把字符串的内容按照“%d”的格式输入到n
//如果str不符合%d的格式,比如aaa那么n=0,或者是str=12aa34,那么n=12
sprintf(str,"%d",n);  //把n的内容以“%d”的格式输出到str当中。
sscanf和spring的顺序和也是分别从左到右,和从右到左。

注意:sscanf和sspirntf不支持string类,只能用char

简单例子

简单用于字符串和数字之间的相互转换

#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
    
    
    //char-->数字
  char s[10];
  sprintf(s,"%d",123); //把123打印到s中
  printf("%s\n",s);
    //数字-->char
  int a;
  sscanf("345","%d",&a);//把345输入到a中
  printf("%d\n",a);
    return 0;
}

一个简单的课后习题大家可以试试看
https://pintia.cn/problem-sets/994805260223102976/problems/994805272659214336

猜你喜欢

转载自blog.csdn.net/qq_40733911/article/details/113466542