array 内に X1 X2 と X3 を含む 3 つの文字がありました
char array[3]={X1,X2,X3}
配列内の3つのデータを1つの文字に結合したい
strcat(array[0]," ");
strcat(array[0],array[1]);
strcat(array[0]," ");
strcat(array[0],array[2]);
printf("%s",array[0])
この「X1 X2 X3」のような結果が得られることを期待しています
3文字を連結して1文字列にしたいということだと思います。
sprintf
十分な配列で使用します。
char str[6];
char array[3] = {'l', 'o', 'l'};
// write
sprintf(str, "%c %c %c", array[0], array[1], array[2]);
// print
printf(str);
null ターミネータを含めるには、もう 1 バイト必要です。
char array[4] = { 'a', 'b', 'c', '\0' };
printf( "%s\n", array );
あなたのabcを与えます
#include <stdio.h>
char *join(char *result, const char array[], size_t size, const char sep){
size_t i,len=0;
for(i=0;i<size;++i){
len+=sprintf(result+len, "%c", array[i]);
if(i < size - 1)
len+=sprintf(result+len, "%c", sep);
}
return result;
}
int main(void){
const char array[] = { 'x', 'y', 'z'};
char result[6];
join(result, array, sizeof(array)/sizeof(char), ' ');
printf("%s", result);//"x y z"
return 0;
}
個々の文字を文字列に変換してから、それらを連結できます。
例えば
char c = 'c';
char d = 'd';
string s1(1, c);
string s2(1, c);
string cd = s1 + s2;