#include <stdio.h>
int main(void){
char s[20];
char t[20];
!!!sprintf只是将需要的字符串存在另一个字符串中,而不会将这个字符串打印出来
//sprintf的两种用法
//用法一 格式化字符串 把整数打印到字符串中
sprintf(s,"%d",1234213);
//用法二 控制浮点数打印格式(浮点数 %m.nf m表示宽度 n表示小数点后的位数) 根据需要将一定位数的小数存放到字符串中
sprintf(t,"%.2f",3.1415926) ;
printf("%s\n",s);
char str[20];
//sscanf的用法 实际上就是按需要将一个字符串的数据存放在另一个字符串当中
//用法1.长度可以控制(%ns)n表示需要的字符数量
2.可以一整个字符串(就不需要加数字了)
//用法3:加*可以跳过指定内容 用法4:到指定的字符停止读取(sscanf("123213qwe+","%[^q]"),表示到q停止)
//用法5:可以指定在指定的范围内的字符停止(sscanf("123456asdqwe",%[^a-z])表示遇到小写字母就停止)
sscanf("123456","%4s",str);
printf("%s\n",str);
return 0;
}
flags(标志,可选)的内容即含义如下:
标志 | 含义 |
- | 指定被转换的参数在其字段内左对齐(默认是右对齐) |
+ | 指定在输出的数前面加上正负号 |
空格 | 如果第一个字符不是正负号,则在其前面加上一个空格 |
0 | 对于数值转换,当输出长度小于字段宽度时,添加前导 0 进行填充 |
# | 指定另一种输出形式: 1. 如果转换字符为 o,则第一个数字为 0 2. 如果转换字符为 x 或 X,则指定在输出的非 0 值前加 0x 或 0X 3. 对于转换字符为 e、E、f、g 或 G 的情况,指定输出总是包含一个小数点。另外,对于转换字符为 g 或 G,还指定输出值尾部无意义的 0 将被保留 |
注:flags 可同时出现多个,且无顺序要求。
需要注意!