c语言数组转字符串
A. c语言中怎样将一个字符数组里面的所有元素变成一个字符串
首先要明确的是,“字符串”在C语言中的含义实际上就是一个char类型的指针或数组,且最后一位置为0标记字符串的结束。所以,你所说的”字符数组“我是否可以理解为一个没有终结符0的char类型数组?
这样的话,方法如下
#include<string.h>
intmain()//这里为了方便直接用main函数
{
chararray[]={'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拷贝字符
return0;
}
实际上在C中,指针和数组还是有一点微妙的区别的,具体可参考度娘
B. c语言如何将数组转成字符串
数组是指针,如果是字符数据就已经是字符串了,其它类型可以使用对应的函数转换,如inttostr,floattostr等。
C. C语言,整数数组转化为字符串
C有“整数数组转化为字符串”的专用库函数char *itoa(int num,char *str,int radix)。声明一个存放转换后的字符串的二维字符数组,将整型数组的元素作为num来调用itoa函数,将结束存入二维数组即可。举例代码如下:
//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
#include"stdlib.h"
intmain(void){
inta[8]={123,234,345,10,787,743891,123456789,0},i;
charx[8][11]={"",};
for(i=0;i<8;i++){
itoa(a[i],x[i],10);//将整数a[i]按十进制转换成字符串存入字符数组x[i]
printf("%s",x[i]);//打出来看看......
}
printf(" ");
return0;
}
D. c语言中字符数组到字符串
您好,很高兴回答您的问题。
在c语言中,没有字符串变量。字符串常量只能放置在字符数组中,也就是说字符数组可以用来存储字符串,但是并不是只能存储字符串。字符数组还可以存储多个普通的字符常量。判断是否存放的是字符串,就看字符数据中最后是否有存放表示字符结束标志的\0。
E. c语言 数组可以转换成字符串吗
c语言数组可以转换成字符串。
实际上,c语言中的字符串就是一个字符数组,数组最后一个元素为"\0",表示字符串的结束位置。
F. C语言数组帮忙转换成字符串,并告知如何修改
你用的什么开发环境? 若是.net有现成的函数可以转。
stringstr=System.Text.Encoding.Default.GetString(bytearray);
G. C语言中如何把int型数组转化为字符串
不准用sprintf 之类函数,要自己写,那么 这样自己写i2s如下:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void i2s(int x, char *s){
int v,xx,i,j,n=0;
char c;
xx = abs(x);
while(1){
v=xx%10;
s[n]=v+'0'; n++;
xx=(xx-v)/10;
if (xx==0) break;
}
if (x<0) {s[n]='-'; n++;}
for (i=0;i<n/2;i++){
c=s[i]; s[i]=s[n-i-1];s[n-i-1]=c;
}
s[n]='\0';
}
main()
{
int a[4]={12,34,-56,789};
char s[4][15];
int i;
for (i=0;i<4;i++){
i2s(a[i],s[i]);
printf("%s ",s[i]);
}
return 0;
}
输出:12 34 -56 789
如用
int i2s(int x, char *s){
//全部照旧
return n;
}
可以返回字符串长度。
你若想把所有输出放入一个长长的char 数组,有了每个字符串长度,应当很容易自己做了--即使不用strcat()。
H. c语言如何将字符数组转换成字符串
普通的C里没有字符串一说,指的就是字符数组或者字符指针
I. c语言 如何将数组转为字符串 如数组 char b[]={“22.34”};变为字符串 char a=“22.34”;请给出例程
你那个 a是char类型就是错的 指针的话就可以了
还有c语言是没字符串的 只有字符数组表示字符串
char b[]={"22.34"};
char *a=b;
printf("%s",a);
这样的吗