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

ART*_*TAS 9 c arrays

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

char array[20];
char string[100];

array[0]='1';
array[1]='7';
array[2]='8';
array[3]='.';
array[4]='9';
...
Run Code Online (Sandbox Code Playgroud)

我想得到类似的东西:

char string[0]= array // where it was stored 178.9 ....in position [0]
Run Code Online (Sandbox Code Playgroud)

Mik*_*ike 26

你说你有这个:

char array[20]; char string[100];
array[0]='1'; 
array[1]='7'; 
array[2]='8'; 
array[3]='.'; 
array[4]='9';
Run Code Online (Sandbox Code Playgroud)

你想要这个:

string[0]= "178.9"; // where it was stored 178.9 ....in position [0]
Run Code Online (Sandbox Code Playgroud)

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

现在,如果你想复制前x个字符array,string你可以用memcpy():

memcpy(string, array, x);
string[x] = '\0'; 
Run Code Online (Sandbox Code Playgroud)


Ale*_*rlo 6

假设array是一个未结束的字符数组\0,您将需要使用strncpy:

char * strncpy(char * destination, const char * source, size_t num);
Run Code Online (Sandbox Code Playgroud)

像这样:

strncpy(string, array, 20);
string[20] = '\0'
Run Code Online (Sandbox Code Playgroud)

然后string根据需要将是一个空终止的C字符串.