我需要将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)
假设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字符串.