• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Malloc()

  • Автор темы Автор темы warmonger
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
W

warmonger

очень прошу помоч(никак немогу понять..):
вообщем я не знаю, сколько пользыватель введет символом, поетому нужно динамически выделить память...
но как??)
 
ну вот пример:
Код:
char *st,*f, c;
st=malloc(10*sizeof(char));
f=st;
while((c=getchar())!='\n')
*f++=c;
*f='\0';

как зделать, что бы походу программы число 10 убольшивалось, если пользыватель введ больше символов?
 
Код:
char *st,*f, c;
st=malloc(10*sizeof(char));
f=st;
int nCurSize= 10;
int nLoaded = 0;
while((c=getchar())!='\n')
{
nLoaded++;
if (nLoaded>=nCurSize)  
{
nCurSize += 20;
char* pNew = malloc(nCurSize*sizeof(char));
memcpy(pNew, st, (nLoaded-1)*sizeof(char));
free(st);
st = pNew;
f = st + nLoaded-1;
}
*f++=c;
}
*f='\0';
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab