style: functions

This commit is contained in:
Serafim 2025-04-03 00:22:49 +03:00
parent 1a15954507
commit 92e4766890
1 changed files with 20 additions and 4 deletions

View File

@ -201,9 +201,18 @@ void my_diag()
// Принимает: const std::string& s - исходная строка для обработки // Принимает: const std::string& s - исходная строка для обработки
// Возвращает: std::string - строка с экранированными спецсимволами // Возвращает: std::string - строка с экранированными спецсимволами
std::string escape_json(const std::string& s) { std::string escape_json(const std::string& s) {
// Возвращаем строку с экранированными символами
// ===== Объявления =====
std::string result; // Результирующая строка с экранированными символами std::string result; // Результирующая строка с экранированными символами
char c; // Символ в строке
// ===== Инициализация =====
result = "";
c = '';
// Проходим по каждому символу входной строки // Проходим по каждому символу входной строки
for (char c : s) { for (c : s) {
// Обрабатываем специальные символы JSON // Обрабатываем специальные символы JSON
switch (c) { switch (c) {
case '"': result += "\\\""; break; // Экранирование двойных кавычек case '"': result += "\\\""; break; // Экранирование двойных кавычек
@ -216,17 +225,24 @@ std::string escape_json(const std::string& s) {
default: result += c; break; // Все остальные символы добавляем как есть default: result += c; break; // Все остальные символы добавляем как есть
} }
} }
return result; // Возвращаем обработанную строку return result; // Возвращаем обработанную строку
} }
bool is_numeric(const std::string& s) { bool is_numeric(const std::string& s) {
// Проверка, является ли строка числом (включая отрицательные) // Проверка, является ли строка числом (включая отрицательные)
// ===== Объявления =====
size_t start; // Индекс, с которого начинать проверку цифр size_t start; // Индекс, с которого начинать проверку цифр
size_t i;
// ===== Инициализация =====
start = 0;
i = 0;
if (s.empty()) return false; // Пустая строка не может быть числом if (s.empty()) return false; // Пустая строка не может быть числом
// Проверяем наличие знака минус в начале // Проверяем наличие знака минус в начале
start = 0;
if (s[0] == '-') { if (s[0] == '-') {
// Строка из одного минуса не является числом // Строка из одного минуса не является числом
if (s.size() == 1) return false; if (s.size() == 1) return false;
@ -234,16 +250,16 @@ bool is_numeric(const std::string& s) {
start = 1; start = 1;
} }
// Проверяем все оставшиеся символы на цифры // Проверяем все оставшиеся символы на цифры
for (size_t i = start; i < s.size(); ++i) { for (i = start; i < s.size(); ++i) {
// Найден нецифровой символ - строка не число // Найден нецифровой символ - строка не число
if (!isdigit(s[i])) return false; if (!isdigit(s[i])) return false;
} }
// Все проверки пройдены - строка является числом // Все проверки пройдены - строка является числом
return true; return true;
} }
void my_msg() { void my_msg() {
printf("begin my_msg"); // debug printf("begin my_msg"); // debug
// Объявление // Объявление