使用sprintf() sscanf()转换字符串

sprintf()  数字转字符串

sscanf() 字符串转数字


测试代码:

#include 
#include 

int main(void)
{
	char *p1="port: 5060";
	unsigned short us;
	sscanf(p1,"port: %hd", &us);
	printf("%hd\n", us);

	char p2[64] = {'x'};
	sprintf(p2,"port: %d", us+1);
	printf("%s\n", p2);

	return 0;
}


另:

printf() 与 scanf() 中的 字符串格式

%[flags][width][.prec][F|N|h|l]type

flags

字符
字符名称 说明
- 减号 左对齐,右边填充空格(默认右对齐)
+
加号 在数字前增加符号 + 或 -
0
数字零 将输出的前面补上0,直到占满指定列宽为止(不可以搭配使用“-”)
  空格 输出值为正时加上空格,为负时加上负号
#
井号
type是o、x、X时,增加前缀0、0x、0X
type是e、E、f、g、G时,一定使用小数点
type是g、G时,尾部的0保留


width
用于控制显示数值的宽度

prec
用于控制小数点后面的位数

F|N|h|l
F 远指针
N 近指针
h 短整数(short int)
l  长整数(long int) (eg. %lld为long long int , %llf为long double)

你可能感兴趣的:(C/CPP语法)