1. 程式人生 > >[技巧]C++中如何連線兩個char陣列

[技巧]C++中如何連線兩個char陣列

問題:

因為char陣列不以‘\0’結尾,所以連線兩個char型陣列無法直接使用strcat等函式,可以採用sprintf函式

string s;

char a1[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G'};
char a2[] = {'H', 'I', 'J', 'K', 'L', 'M', 'N'};

sprintf(s, "%.*s%.*s", sizeof(a1), a1, sizeof(a2), a2);

/*

1.在"%m.ns"中,m 表示佔用寬度(字串長度不足時補空格,超出了則按照實際寬度列印),n表示從相應的字串中最多取用的字元數。
2.sprintf 採用"*"來佔用一個本來需要一個指定寬度或精度的常數數字的位置



*/

參考: