#include
void IntToStr(int *i, char *c, int len)
{//i为整形数组,c为要存放字符串的数组,len为整形数组元素个数
int k;
char tmp[10];
for(k=0;k { itoa(i[k],tmp,10); strcat(c,tmp); int main() 或: #include int main() // 这里为了方便直接用main函数 { char array[] = { 'h', 'e', 'l', 'l', 'o' }; /* 需要注意的是,这里没有终结符,故需要知道数组的 */ /* 大小(数组的大小是编译时常量)*/ char *dest_str; // 目标字符串 dest_str = (char *)malloc(sizeof(char) * (sizeof(array) + 1)); /* 为字符串分配堆空间 */ strncpy(dest_str, array, sizeof(array)); // 用C标准库函数strncpy拷贝字符 return 0; } 扩展资料: 字符串在存储上类似字符数组,它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。 通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。 参考资料来源:百度百科-字符串
1、首先写上注释内容,如下图所示。
2、然后写上数据类型(char)+字符串名称,如下图所示。
3、接下来需要在=后面写上字符串的内容,如下图所示。
4、接下来需要将字符串的内容打印出来,如下图所示。
5、接下来需要点击顶部的编译,如下图所示。
6、接下来需要点击运行。
7、这时候就可以看到刚才被定义的字符串被输出来了。
第一次编程,请笑纳
#include
void ToString(int array[], int array_size);
int main(void)
{
int a[5] = { 5,4,3,2,1 };
ToString(a, sizeof(a)/sizeof(a[0]));
}
void ToString(int array[], int array_size)
{
char *p;
int i;
p = (char*)malloc(array_size + 1);
for(i = 0; i < array_size; i++)
{
*(p+i) = '0' + array[i];
}
*(p+i) = '\0';
printf("int array is string %s\n", p);
}
运行结果:
Administrator@X11 ~
$ gcc main.c
Administrator@X11 ~
$ ./a
int array is string 54321
这里演示的char类型数组,举一反三,自己查资料看in数组怎么转
int main()
{
unsigned char arr[]={0x12,0x34,0x56,0xaa,0xff,0xcd};
char str[256]="";
//sprintf(str,"%X%X%X",arr[0],arr[1],arr[2]);
int i=0;
for(i=0;i
}
printf("%s\n",str);
return 0;
}
unsigned char fun(char c)/*把用字符表示的十六进制数转换为二进制表示*/
{
if('A' <=c && c <='Z')
return c - 'A' + 10;
if('a' <=c && c <='z')
return c - 'a' + 10;
return c - '0' ;
}
void convert(const char *str, unsigned char *arr)
{
for(unsigned i = 0; str[i] != '\0'; ++i )
if(i%2 == 0){
arr[i/2] = fun(str[i]);
arr[i/2] <<= 4;
}
else
arr[i/2] |= fun(str[i]);
}