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]
あなたはそれを持つことはできません。char は 1 文字を保持します。それでおしまい。C の「文字列」は、センチネル文字 (NULL ターミネータ) が後に続く文字の配列です。
から最初の x 文字をコピーしたい場合は、次のようにarray
して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
、必要に応じて、null で終了する 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);