這可能很簡單,但我似乎無法使其工作。連接兩個int數組
我有:
int string1[100];
int string2[100];
兩者都含有 '1' 和 '0' 的值(二進制),我想將它們串聯。
我如何將這兩個整數結合起來得到一個整數?
這可能很簡單,但我似乎無法使其工作。連接兩個int數組
我有:
int string1[100];
int string2[100];
兩者都含有 '1' 和 '0' 的值(二進制),我想將它們串聯。
我如何將這兩個整數結合起來得到一個整數?
您需要使用循環或memcpy()
。
目前還不清楚這兩個數組是否都是100%滿的,即是否使用了所有元素。如果是,請執行:
int string3[200];
memcpy(string3, string1, sizeof string1);
memcpy(string3 + sizeof string1/sizeof string1, string2, sizeof string2);
最簡單的方法是使用循環。例如:
int concatenated[200],i,j;
for(i=0,j=0;j<100;j++)
{
concatenated[i]=string1[j];
i++;
}
for(j=0;j<100;j++)
{
concatenated[i]=string2[j];
i++
}
順便說一句你真的想使用整數數組嗎?你可以使用字符串嗎?
int i=0,j=0;
//first find where string1 ends, where the '\0' character is.
//then add string 2 from that point until we reach the '\0' of string 2.
while(string1[i] != '\0')
i++;
while((string1[i++] = string2[j++]) != '\0');
這增加了串2串1,逆矩陣的字符串,如果你想用另一種方式round.I如果你想要一個新的數組我不知道,或者加入到字符串2字符串1。我假設你加入他們在一起,如果你的數組已滿已經開始與string1 [200];那麼你不需要一個新的數組。
編輯因爲你想要一個新的數組。
int new_array[200] = {0};
int i=j=k =0;
while((new_array[i++] = string1[i++]) != '\0');
i--;
while((new_array[i++] = string2[k++]) != '\0');
我想用兩個字符串得到一個新數組。而且,它們並不完整;它們包含一些二進制數字和空字符 – user3193834
當然,您也可以使用memcpy函數,但是如果您只需要一些原始代碼,我編輯了我的帖子 – tesseract
'man strcat' ... – devnull
只是爲了澄清 - 你想要200個元素的另一個數組? –
你知道字符串和整數數組的區別嗎? – haccks