用C如何把数字转化为字符串
C语言有atoi、atol、atof等库函数,可分别把ASCII编码的字符串转化为int、long、float类型的数字。 头文件:stdlib.h 函数原型:int atoi(const char* nptr); (另外两个类似) 举个例子: char *str="123"; int num=atoi(str); 执行后,num的值被初始化为123
C语言如何把一个字符串转换成数字
C语言中,可以使用atoi函数将字符串转换为数字,如atoi("123")可以得到数字123。atoi (表示 ascii to integer)是把字符串转换成整型数的一个函数,应用在计算机程序和办公软件中。
int atoi(const char *nptr) 函数会扫描参数 nptr字符串,会跳过前面的空白字符(例如空格,tab缩进)等。
如果 nptr不能转换成 int 或者 nptr为空字符串,那么将返回0。特别注意,该函数要求被转换的字符串是按十进制数理解的。
atoi输入的字符串对应数字存在大小限制(与int类型大小有关),若其过大可能报错-1。扩展资料:使用sprintf函数来实现,如sprintf("%d", 123)可以得到字符串"123"。
sprintf指的是字符串格式化命令,主要功能是把格式化的数据写入某个字符串中。
sprintf 是个变参函数。使用sprintf 对于写入buffer的字符数是没有限制的,这就存在了buffer溢出的可能性。解决这个问题,可以考虑使用 snprintf函数,该函数可对写入字符数做出限制。
C语言,把数字转成字母
解决方案1:
加 ‘0’ 后强制类型转换
如下程序,输入数字,转换成字符串输出
#include
int main(void)
{
int n,i;
char ch[100];
while(scanf("%d",&n))
{
int top = 0;
while(n > 0)
{
ch[top++] = (char)(n%10 + '0');
n /= 10;
}
for(i = top-1; i >= 0; i--)
{
printf("%c",ch[i]);
}
puts("");
}
}
解决方案2:
字符a的ASCII码值为 97
字符0的ASCII吗值为 48
‘0‘+49=’a‘
解决方案3:
使用sprintf函数可以将数字按指定格式转换成字符串,与printf函数用法差不多.