将char数组转换为字符串使用C.

我需要将char数组转换为字符串。 像这样的东西:

char array[20]; char string[100]; array[0]='1'; array[1]='7'; array[2]='8'; array[3]='.'; array[4]='9'; ... 

我想得到类似的东西:

 char string[0]= array // where it was stored 178.9 ....in position [0] 

你说你有这个:

 char array[20]; char string[100]; array[0]='1'; array[1]='7'; array[2]='8'; array[3]='.'; array[4]='9'; 

你想要这个:

 string[0]= "178.9"; // where it was stored 178.9 ....in position [0] 

你不能拥有它。 一个字符包含1个字符。 而已。 C中的“字符串”是一个字符数组,后跟一个标记字符(NULL终止符)。

现在,如果要将array的前x个字符复制到string ,则可以使用memcpy()

 memcpy(string, array, x); string[x] = '\0'; 

假设array是一个不以\0结尾的字符数组,你将需要使用strncpy

 char * strncpy(char * destination, const char * source, size_t num); 

像这样:

 strncpy(string, array, 20); string[20] = '\0' 

然后, string将根据需要为空终止的C字符串。

您可以使用strcpy但请记住以'\0'结束数组

 char array[20]; char string[100]; array[0]='1'; array[1]='7'; array[2]='8'; array[3]='.'; array[4]='9'; array[5]='\0'; strcpy(string, array); printf("%s\n", string);