Переписать код с С++ поиска строки - C (СИ)
Формулировка задачи:
Помогите переделать пожалуйста
#include <iostream> #include <string> #include <conio.h> using namespace std; bool HasSubstring(const std::string& content, const std::string& target) { return content.find(target) != std::string::npos; } int main() { setlocale(LC_ALL, "Russian"); string S = "Hello, world"; string S0 = "world"; cout << "Введите исходную строку: "; cin >> S; cout << "Введите строку, которую ищем: "; cin >> S0; if (HasSubstring(S, S0)) std::cout << "Результат: TRUE\n"; else std::cout << "Результат: FALSE\n"; system("pause"); _getch(); }
Решение задачи: «Переписать код с С++ поиска строки»
textual
Листинг программы
#include <string.h> #include <conio.h> #include <stdio.h> #include <locale.h> int HasSubstring(const char *str, const char *substr) { return (int)strstr(str, substr); }; void main() { char *S = malloc(80);//"Hello, world"; char *S0 = malloc(80);// "world"; setlocale(LC_ALL, "Russian"); cputs("Введите исходную строку: "); cscanf("%s", S); cputs("\n\rВведите строку, которую ищем: "); cscanf("%s", S0); printf("\n\rРезультат: %s\n", HasSubstring(S, S0) ? "TRUE" : "FALSE"); _getch(); };
Объяснение кода листинга программы
- #include
- подключает библиотеку string.h, которая содержит функции для работы со строками. - #include
- подключает библиотеку conio.h, которая содержит функции для работы с консолью. - #include
- подключает библиотеку stdio.h, которая содержит функции для работы с вводом/выводом. - #include
- подключает библиотеку locale.h, которая содержит функции для работы с локалью. - int HasSubstring(const char str, const char substr) - функция поиска подстроки в строке. Возвращает индекс первого символа подстроки в строке или -1, если подстрока не найдена.
- void main() - точка входа в программу.
- *char S = malloc(80); //
Hello, world
;** - выделяет память под строкуHello, world
. - *char S0 = malloc(80); //
world
;** - выделяет память под строкуworld
. - setlocale(LC_ALL,
Russian
); - устанавливает русскую локаль. - cputs(
Введите исходную строку:
); - выводит сообщениеВведите исходную строку:
. - cscanf(
%s
, S); - считывает строку с помощью функции cscanf и сохраняет ее в переменной S. - cputs(
\n\rВведите строку, которую ищем:
); - выводит сообщениеВведите строку, которую ищем:
. - cscanf(
%s
, S0); - считывает строку с помощью функции cscanf и сохраняет ее в переменной S0. - printf(
\n\rРезультат: %s\n
, HasSubstring(S, S0) ?TRUE
:FALSE
); - выводит результат поиска подстроки в строке. - _getch(); - ожидает нажатия клавиши.
- free(S); - освобождает память, выделенную под строку S.
- free(S0); - освобождает память, выделенную под строку S0.
- Программа завершается.
- Возвращается 0.
- FALSE - подстрока не найдена.
- TRUE - подстрока найдена.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д