• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 🚨 29 мая стартует курс «Пентест Active Directory: от теории к практике» от Академии Кодебай

    🔍 Изучите реальные техники атак на инфраструктуру Active Directory: от первоначального доступа до полной компрометации.
    🛠️ Освойте инструменты, такие как BloodHound, Mimikatz, CrackMapExec и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальные сценарии атак.
    🧠 Получите знания, которые помогут вам стать востребованным специалистом в области информационной безопасности.

    После старта курса запись открыта еще 10 дней Подробнее о курсе ...

  • Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

Malloc

  • Автор темы Автор темы Guest
  • Дата начала Дата начала
G

Guest

Не могли бы вы написать программку, которая принимает от пользователя неограниченное кол-во текста с исполользованием malloc ( ну или calloc ). Не могу разобраться..
(чистый Си)
 
Поддерживаю моего предшественника, для меня это не составит труда:
(чистейший Си)
C++:
void main( void )
{
char *  buffer;
buffer = malloc( 16777216 );
printf( "Введите неограниченное кол-во текста (если будет мало добавьте ноль в конце числа в предыдущей строке):" );
gets( buffer );
...
}
Пожалуйста) Не за что:huh:
 
Поддерживаю моего предшественника, для меня это не составит труда:
(чистейший Си)
C++:
void main( void )
{
char *  buffer;
buffer = malloc( 16777216 );
printf( "Введите неограниченное кол-во текста (если будет мало добавьте ноль в конце числа в предыдущей строке):" );
gets( buffer );
...
}
Пожалуйста) Не за что:huh:

Но ведь тут объём памяти заранее ограничен..
Или я недопонимаю?
А можно сделать так чтобы было забронировано 8бит под символ и когда он заполнен ( равен не ноль ), то выделяется ещё один байт и т.д, пока пользователь не введёт символ перехода но новую строку?
но в любом случае - спасибо..
 
А можно сделать так чтобы было забронировано 8бит под символ и когда он заполнен...
По-битно вводить собираешься?

* Выделяешь память... скажем для 64 символов (malloc\\calloc).
* Посимвольно заполняешь этот массив (fgetc) вводя с клавиатуры до тех пор, пока не встретишь символ '\n'.
* Если количество введенных символов начало превышать 64 - увеличиваешь массив еще на 64 (realloc).

Вот и все.
 
Мы в соцсетях:

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

Курс AD