Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍7❤6😁1
В этой задаче создаём консольную утилиту, которая переводит числовое значение из одной единицы измерения в другую прямо из терминала.
В этой задаче:
• Принимаем на вход 3 аргумента — число, исходную единицу и целевую единицу.
• Проверяем, что обе единицы входят в список поддерживаемых (m, cm, km, g, kg, l, ml).
• Используем unordered_map с коэффициентами и сначала переводим значение в базовую единицу, затем — в нужную.
Такой инструмент удобен, когда нужно быстро пересчитать метры в сантиметры, граммы в килограммы или литры в миллилитры, не покидая командную строку.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍7❤6🤝1
Убираем все пробелы из строки!
Сейчас научимся быстро удалять все пробельные символы (
Сначала подключим необходимые библиотеки из стандартной поставки:
Допустим, у нас есть строка с лишними пробелами и табуляцией:
Теперь удалим все пробельные символы с помощью одного вызова:
Результат при запуске программы:
🔥 Таким образом ты можешь быстро очищать строки от пробелов — без циклов, копий и лишнего кода.
📣 C++ Ready | #практика
Сейчас научимся быстро удалять все пробельные символы (
пробел
, таб
, перевод строки
) из строки. Это пригодится при парсинге ввода, чтении конфигов или очистке текстовых данных.Сначала подключим необходимые библиотеки из стандартной поставки:
#include <string>
#include <algorithm> // std::erase_if (C++20)
#include <cctype> // std::isspace
Допустим, у нас есть строка с лишними пробелами и табуляцией:
std::string raw = " Hello\tWorld \n ";
Теперь удалим все пробельные символы с помощью одного вызова:
std::erase_if(raw, [](unsigned char c) {
return std::isspace(c);
});
std::cout << raw << '\n';
Результат при запуске программы:
HelloWorld
🔥 Таким образом ты можешь быстро очищать строки от пробелов — без циклов, копий и лишнего кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤20🔥10👍8
С его помощью можно легко получать расширение файла, имя без пути, родительский каталог, заменять расширение, а также работать с путём в системном формате. Полезно при создании утилит, обработке файлов и написании кроссплатформенного кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26👍9❤8🤝5
В этой статье:
• Инициализация и отрисовка спрайтов в консоли без внешних библиотек
• Организация игрового цикла и логики с помощью контейнеров STL
• Обработка ввода, тайминга и коллизий в терминальной среде
🔊 Советую продолжить читать на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥7❤6
Консольная утилита, которая генерирует пароль заданной длины из выбранных групп символов прямо из терминала.
В этой задаче:
• Принимаем на вход строку вида <длина><группы>, например 12abd.
• Настраиваем генерацию случайных чисел для равномерного выбора символов из набора.
• Постепенно формируем строку нужной длины, выбирая случайные символы из набора, и выводим результат.
Такой инструмент удобен, когда нужно быстро получить надёжный пароль с нужными характеристиками прямо из командной строки.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤8🔥8🤝1
Разбираем создание временных файлов
Сейчас научимся создавать временный файл, который сам удалится после завершения программы. Это пригодится при работе с логами, кэшем, временными данными или тестами.
Сначала подключим необходимые библиотеки из стандартной поставки:
Теперь создадим временный файл и проверим, удалось ли это:
Запишем в файл строку и переместим указатель в начало, чтобы прочитать:
Считаем содержимое из временного файла и выведем его на экран:
Результат при запуске программы:
🔥 Таким образом ты можешь безопасно создавать временные файлы — без забот об удалении и кроссплатформенных различиях.
📣 C++ Ready | #практика
Сейчас научимся создавать временный файл, который сам удалится после завершения программы. Это пригодится при работе с логами, кэшем, временными данными или тестами.
Сначала подключим необходимые библиотеки из стандартной поставки:
#include <cstdio>
#include <iostream>
Теперь создадим временный файл и проверим, удалось ли это:
std::FILE* tmp = std::tmpfile();
if (!tmp) {
std::cerr << "Не удалось создать временный файл.\n";
return 1;
}
Запишем в файл строку и переместим указатель в начало, чтобы прочитать:
std::fputs("Временные данные\n", tmp);
std::rewind(tmp);
Считаем содержимое из временного файла и выведем его на экран:
char buffer[64];
std::fgets(buffer, sizeof(buffer), tmp);
std::cout << "Прочитали: " << buffer;
Результат при запуске программы:
Прочитали: Временные данные
🔥 Таким образом ты можешь безопасно создавать временные файлы — без забот об удалении и кроссплатформенных различиях.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥6❤5👎1