Я пытаюсь получить неограниченный ввод от пользователя, используя realloc. это то, что я сделал до сих пор:что не так с этим использованием realloc
int getCharactersFromUser(char* arr,char terminator)
{
char c = getch();
int length =0;
while(c!=terminator)
{
arr = realloc(arr, sizeof (arr)*(++length));
arr[length-1]=c;
c = getch();
}
return length;
}
я называю этот метод с обр как это: char *unknownArr = calloc(0,sizeof *unknownArr); int length = getCharactersFromUser(&unknownArr,TEMINATOR_FOR_LIST);
здесь TEMINATOR_FOR_LIST
является eof
Посмотрите, какое значение имеет 'sizeof (arr)'. – this
Также: если вы хотите использовать 'EOF', вам понадобится' int' для ваших персонажей. 'EOF' не гарантированно помещается внутри' char'. – Kninnug