我有两个char数组,我试图逐个字符地加入。下面是一个示例:

both[10]
   |
   |______both[0]
            |_____one[0]
            |
          both[1]
            |_____two[0]
            |
          both[2]
            |_____one[1]
            |
         ..etc..


我尝试使用两个循环,但这对第二个数组无效。尽管我没有找到解决方案,但这可能很简单。

char one = "ji-hs";
char two = "onti";
char both[10];

for (int i = 0; i < 10; ++i) {
    memcpy(&both[i], &one[i], 1);
}

for (int i = 0; i < 10; ++i) {
    memcpy(&both[i+1], &two[i], 1);
}


连接在一起的两个数组应该读为join-this

最佳答案

如果我正确理解您的意见:

char *one = "ji-hs";
char *two = "onti";
char both[11];

for (int i = 0; i < 5; i++) {
    both[i*2] = one[i];
    both[i*2+1] = two[i];
}
both[10] = 0;

07-25 22:58