c语⾔字符串类型转换c语⾔字符串类型转换
⽬录
atoi() – 字符串转整数
声明:
int atoi(const char *str)
如果没有执⾏有效的转换,则返回0
举个栗⼦:
// #include<stdio.h>
c语言char的用法// #include<stdlib.h>
char str[]="519";
int a =atoi(str);
a = a +1;
printf("%d",a);
// 输出:520
atol() – 字符串转长整数
声明:
long int atol(const char *str)
atof() – 字符串转浮点数
声明:
double atof(const char *str)
strol() – 字符串转长整数
声明:
long int strtol(const char *str, char **endptr, int base)
参数解释:
str⽤于转换的字符串
endptr是⼀个传出参数,函数返回时指向后⾯未被识别的第⼀个字符。
参数base代表采⽤的进制⽅式
实例:
char str[]="65 It's a number";
char*ptr;
int num;
num =strtol(str,&ptr,10);
printf("%d\n",num);
puts(ptr);
/*输出:
65
It's a number
*/
stroul() – 字符串转⽆符号长整数
声明:
unsigned long int strtoul(const char *str, char **endptr, int base)
与strol()类似
strod() – 字符串转浮点数
声明:
double strtod(const char *str, char **endptr)
实例:
char str[]="3.14159 It's a number";
char*ptr;
double num;
num =strtod(str,&ptr);
printf("%lf\n",num);
puts(ptr);
/*输出:
3.141590
It's a number
*/
sprintf() – 格式化输出到字符串
这个函数是另⼀个标准库的
声明:
int sprintf(char *str, const char *format, ...)
sprintf()和printf()的⽤法相似,只不过不是格式化输出到屏幕,⽽是格式化输出到⼀个字符串变量实例:
// include<stdio.h>
char str[80];
sprintf(str,"Pi 的值 = %f",3.14159);
puts(str);
// 输出:Pi 的值 = 3.141590
拓展函数(⾮标准库函数)
itoa():将整型值转换为字符串。
ltoa():将长整型值转换为字符串。
ultoa():将⽆符号长整型值转换为字符串。
gcvt():将浮点型数转换为字符串,取四舍五⼊。
ecvt():将双精度浮点型值转换为字符串,转换结果中不包含⼗进制⼩数点。
fcvt():指定位数为转换精度,其余同ecvt()。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。