Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём неправильно. Необходимо обновить браузер или попробовать использовать другой.
ВОПРОС · Q&A
Malloc
4 ответов
4,5 тыс.
Codeby Academy
Практика и мастерство
От основ до продвинутого — программы для практиков Codeby.
Не могли бы вы написать программку, которая принимает от пользователя неограниченное кол-во текста с исполользованием malloc ( ну или calloc ). Не могу разобраться..
(чистый Си)
Поддерживаю моего предшественника, для меня это не составит труда:
(чистейший Си)
C++:
void main( void )
{
char * buffer;
buffer = malloc( 16777216 );
printf( "Введите неограниченное кол-во текста (если будет мало добавьте ноль в конце числа в предыдущей строке):" );
gets( buffer );
...
}
Поддерживаю моего предшественника, для меня это не составит труда:
(чистейший Си)
C++:
void main( void )
{
char * buffer;
buffer = malloc( 16777216 );
printf( "Введите неограниченное кол-во текста (если будет мало добавьте ноль в конце числа в предыдущей строке):" );
gets( buffer );
...
}
Но ведь тут объём памяти заранее ограничен..
Или я недопонимаю?
А можно сделать так чтобы было забронировано 8бит под символ и когда он заполнен ( равен не ноль ), то выделяется ещё один байт и т.д, пока пользователь не введёт символ перехода но новую строку?
но в любом случае - спасибо..
* Выделяешь память... скажем для 64 символов (malloc\\calloc).
* Посимвольно заполняешь этот массив (fgetc) вводя с клавиатуры до тех пор, пока не встретишь символ '\n'.
* Если количество введенных символов начало превышать 64 - увеличиваешь массив еще на 64 (realloc).
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь. Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.