一、字符串与基本数据类型的转换
● itoa():将整型值转换为字符串。
● ltoa():将长整型值转换为字符串。
● ultoa():将无符号长整型值转换为字符串。
● gcvt():将浮点型数转换为字符串,取四舍五入。
● ecvt():将双精度浮点型值转换为字符串,转换结果中不包含十进制小数点。
● fcvt():指定位数为转换精度,其余同ecvt()。
以itoa为例
int num = 100;
char str[25];
itoa(num, str,10); //10表示十进制
● atof():将字符串转换为双精度浮点型值。
● atoi():将字符串转换为整型值。
● atol():将字符串转换为长整型值。
● strtod():将字符串转换为双精度浮点型值,并报告不能被转换的所有剩余数字。
● strtol():将字符串转换为长整值,并报告不能被转换的所有剩余数字。
● strtoul():将字符串转换为无符号长整型值,并报告不能被转换的所有剩余数字。
以atoi为例子
int num;
char str[1000];
fgets(str,sizeof(str),stdin);
num=atoi(str);
printf("%d",num);
sprintf与sscanf
sprintf 它把结果输出到指定的字符串中
char c[100]
sprintf(c,"%d",100); //表示将100以整数型存入c字符串中
sscanf
sscanf和scanf的区别:scanf是以键盘作为输入源,sscanf是以字符串作为输入源。
例子挺多的 记几个比较好用的
取到指定字符为止的字符串。
char str[100];
char str1[100];
fgets(str1,sizeof(str1),stdin);
sscanf(str1,"%[^,]",str); //str1为输入源 以,(指定字符)为止取字符串到str中去
printf("%s",str);
将表示数字的字符串转换成整型变量
int n;
sscanf("123","%d",&n);
取仅包含指定字符集的字符串
//只取数字和小写字母
char str[100];
sscanf("123456fengxinBLOG","%[1-9a-z]",str);
puts(str);
...............(发现这个好像有点好用)
二、内存的一些简单函数
1、memset
void *memset(void *s,int c,size_t n)
将已开辟内存空间 s 的首 n 个字节的值设为值 c
2.memcpy
void *memcpy(void *destin, void *source, unsigned n);
作用是:以source指向的地址为起点,将连续的n个字节数据,复制到以destin指向的地址为起点的内存中。
函数有三个参数,第一个是目标地址,第二个是源地址,第三个是数据长度。