Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //пример использования функции malloc
- #include <iostream>
- #include <stdio.h>
- #include <windows.h>
- #include <cstdlib>
- class Rus {
- public:
- Rus(const char* msg): data(new char [lstrlen(msg)+1]) {CharToOemA(msg, data);}
- ~Rus() {delete [] data;};
- operator const char* () const {return data;}
- private:
- char* data;
- };
- int main()
- {
- int len;
- std::cout << Rus("Укажите длину строки в символах: "); // Появляется диалог ввода числа
- std::cin >> len; // Когда ввели число и нажали Enter, то в переменную len будет вставлено число
- // выделяем указанное количество байт типа char и получаем указатель на эту область в переменную buffer
- char * buffer = (char*) malloc(len + 1); // динамическое выделение памяти под символьную строку
- // если указатель содержит NULL (пусто), тогда выход
- if (buffer==NULL) exit (1); // если выделение памяти не выполнилось, завершить программу
- // запуск цикла от 0 до числа меньше чем число в переменной len, шаг цикла +1
- for (int i = 0; i < len; i++)
- buffer[i] = rand() % 26 + 'a'; // получаем рандомное число и остаток от деления на 26, и отсчитываем от "a" букву
- buffer[len]='\0'; // в конец дописываем конец строки
- std::cout << Rus("Случайная строка: ") << buffer << "\n"; // выводим в консоль результат генерации заполнения выделенной памяти
- free(buffer); // освобождаем память
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement