• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Malloc()

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

warmonger

очень прошу помоч(никак немогу понять..):
вообщем я не знаю, сколько пользыватель введет символом, поетому нужно динамически выделить память...
но как??)
 
W

warmonger

ну вот пример:
Код:
char *st,*f, c;
st=malloc(10*sizeof(char));
f=st;
while((c=getchar())!='\n')
*f++=c;
*f='\0';

как зделать, что бы походу программы число 10 убольшивалось, если пользыватель введ больше символов?
 
G

grigsoft

Код:
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';
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!