首页 > 知识常识 > 正文

如何将整形转换为字符串

分享到微信朋友圈

打开微信。点击 “ 发现 ” ,
使用 “ 扫一扫 ” 即可将网页分享至朋友圈。

1.[C语言]怎样把整型转变为字符型可以这样用ascii码来转换ascii码从48~58分别是0,1,2。9inta=3;charb;b=char(a+48)

1.[C语言]怎样把整型转变为字符型

可以这样用ascii码来转换

ascii码从48~58分别是0,1,2。9

int a=3;

char b;

b=char(a+48);

然后b就是字符'3'了

#include<stdio.h>

char mychar[100];//定义一个无限大的字符数组来存放所生成的字符 不过最好使用c的动态内存分配

int i=0;

char* function(int a)

{

if (a<10) {

mychar[i++]=char(48+a);

return mychar;

}

function(a/10);

mychar[i++]=char(48+a%10);//转化为字符串使用ascii码来转换

return mychar;

}

void main()

{

char*a;

int num=0;

scanf("%d",&num);

a=function(num);

printf("转化为字符串后:%s",a);

}

2.如何用c语言把整形转换成字符型

使用itoa函数。

原型:extern char *itoa(int i);

参考代码:

#include<stdio.h>

#include<stdlib.h>

int main()

{

int a=125;

char b[50];

printf("%s\n",itoa(a,b,10));//把10进制的125转成字符并输出。

return 0;

}

/*

扩展资料:

注意事项

itoa() 函数有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是转移数字时所用的基数(进制)。在上例中,转换基数为10,就意味着以10为转换进制。10:十进制;2:二进制。

itoa 并不是一个标准的C函数,它是Windows特有的,如果要写跨平台的程序,请用sprintf。

标准库中有sprintf,功能比这个更强,用法跟printf类似:

参考资料来源:百度百科-itoa函数

3.高手请进

#include <stdio.h>

#include <string.h>

/* 交换 */

void Swap(char *ch1, char *ch2)

{

char tmp = *ch1;

*ch1 = *ch2;

*ch2 = tmp;

}

/* 转换成八进制 */

void Convert(int n, char str[])

{

int i, len;

for(i = 0; n != 0; ++i)

{

str[i] = n % 10 + '0';

n /= 10;

}

str[i] = '\0';

len = i;

/* 翻转 */

for(i = 0; i < len/2; ++i)

Swap(str+i, str+len-i-1);

}

int main(void)

{

int n;

char str[32];

scanf("%d", &n);

Convert(n, str);

printf("str = %s\n", str);

return 0;

}

4.高手请进

功 能:把一整数转换为字符串

用 法:char *itoa(int value, char *string, int radix);

详细解释:itoa是英文integer to array(将int整型数转化为一个字符串,并将值保存在数组string中)的缩写.

参数:

value: 待转化的整数。

radix: 是基数的意思,即先将value转化为radix进制的数,范围介于2-36,比如10表示10进制,16表示16进制。

* string: 保存转换后得到的字符串。

返回值:

char * : 指向生成的字符串, 同*string。

备注:该函数的头文件是"stdlib.h"

程序例:

#include

#include

int main()

{

int number = 123456;

char string[25];

itoa(number, string, 10);

printf("integer = %d string = %s\n", number, string);

return 0;

}

注释:编译系统:VC++6.0,TC不支持。

我们可以这样构造itoa()

char* itoa(int i)

{

char *a=malloc(42); /* Enough for a 128 bit integer */

if (a) sprintf(a,"%d",i);

return a;

}

实现itoa函数的源代码

char *my_itoa(int num,char *str,int radix){

const char table[]="";

char *ptr = str;

bool negative = false;

if(num == 0){ //num=0

*ptr++='0';

*ptr='\0'; // don`t forget the end of the string is '\0'!!!!!!!!!

return str;

}

if(num<0){ //if num is negative ,the add '-'and change num to positive

*ptr++='-';

num*=-1;

negative = true;

}

while(num){

*ptr++ = table[num%radix];

num/=radix;

}

*ptr = '\0'; //if num is negative ,the add '-'and change num to positive

// in the below, we have to converse the string

char *start =(negative?str+1:str); //now start points the head of the string

ptr--; //now prt points the end of the string

while(start char temp = *start;

*start = *ptr;

*ptr = temp;

start++;

ptr--;

}

return str;

}

5.怎么将整型变量的内容转换成字符串

有如下两种常用方法。

一、可以通过调用C库函数itoa实现。

1 原型。

char*itoa(int value,char*string,int radix);

2 头文件。

stdlib.h

3 功能。

将value的值,转换为字符串,并存到string中,如果转化后的字符串长度超过radix,那么只存radix位。

4 样例。

int i=1234;

char buf[10];

itoa(i, buf, 10);

执行后buf内容为字符串"1234"。

二、通过sprintf格式化输出到字符串中。

itoa并不是C语言标准库函数,所以并不是每个平台均支持该函数。当不支持时,可以用sprintf函数来达到同样效果。

1 原型。

int sprintf( char *buffer, const char *format, [ argument] … );

2 头文件。

stdio.h

3 功能。

类似于printf,根据格式化字符串format,将后续参数列表中的参数逐个输出。不过输出目标不是标准输出终端,而是字符串buffer。

4 样例。

int i=1234;

char buf[10];

sprintf(buf,"%d",i);

执行后buf内容同样为字符串"1234"。

6.C语言中将整形变量转换成字符串的函数是什么

int iValue;//整型数

char sz[10];//字符串

sprintf(sz, "%d", iValue);//这句需要头文件#include <stdio.h>

/*或者*/

itoa(iValue, sz, 10); //这句需要头文件#include <ctype.h>

sprintf类似于printf,printf比sprintf少第一个参数,就是直接在输出界面输出相应的东西,而sprintf就是将你要输出的东西按相应格式存放到第一个参数的字符串中。

itoa是直接将整型数转化成字符串

如何将整形转换为字符串

标签:知识常识,in,字符串

网友评论: