У меня есть целочисленный массив, который динамически распределяется следующим образом:
int *ranArr(int size) {
int *arr= malloc(size *sizeof(int));
for(int i = 0; i < size; i++) {
arr[i] = genRan(size);
}
return arr;
}
Я хочу динамически выделить память для строки, в которую я преобразую свой целочисленный массив, и сохранить ее в строке:
int *arrayCopy = ranArr(size);
int arrayCopyLen = size;
char *arrayString= (char*) malloc(size * sizeof(char));
int index = 0;
for(int i = 0; i< arrayCopyLen ; i++) {
index += sprintf(&arrayString[index], "%d ,", arrayCopy[i]);
}
int arrayStringLen = strlen(arrayString)+1;
Это работает для массивов размером около 1000, но когда я устанавливаю размер в 2000 или около того, он ломается, и я получаю ошибку сегментации.