fork download
  1. #include <stdio.h>
  2. #define SIZE1 7
  3. #define SIZE2 5
  4.  
  5. void cat_data(int *data1, int len1, int *size1, const int *data2, int len2) {
  6.  
  7. int i;
  8. int remain = len1 - *size1;
  9. int copy_len = (len2 < remain) ? len2 : remain;
  10.  
  11. for (i = 0; i < copy_len; i++) {
  12. data1[*size1 + i] = data2[i];
  13. }
  14. *size1 += copy_len;
  15. }
  16.  
  17. int main(void) {
  18. int data1[SIZE1] = {1, 2};
  19. int data2[SIZE2] = {3, 4, 5, 6, 7};
  20. int size1 = 2;
  21.  
  22. cat_data(data1, SIZE1, &size1, data2, SIZE2);
  23.  
  24. for (int i = 0; i < size1; i++) {
  25. printf("data1[%d] = %d\n", i, data1[i]);
  26. }
  27.  
  28. return 0;
  29. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
data1[0] = 1
data1[1] = 2
data1[2] = 3
data1[3] = 4
data1[4] = 5
data1[5] = 6
data1[6] = 7