Я хочу написать программу на C для поиска всех вхождений слова в заданной строке и
написать все вхождения слова заглавными буквами.
Пример
Input
Строка ввода: доброе утро. хорошего дня.
Выход
Слово «хорошо» было найдено в месте 1
Слово «хорошо» было найдено в месте 22 * 1009 *
Доброе утро. хорошего дня.
Я написал следующий код
#include <stdio.h>
#include <string.h>
void main()
{
char str[1000], pat[20] = "good";
int i = 0, j, mal = 0, flag = 0;
printf("Enter the string :");
gets(str);
while (str[i] != '\0')
{
if (str[i] == pat[0])
{
j = 1;
//if next character of string and pat same
while(pat[j] != '\0' && str[j + i] != '\0' && pat[j] == str[j + i])
{
j++;
flag = 1;
}
if (pat[j] == '\0')
{
mal += 1;
printf("\n The word was found at location %d.\n" , i + 1);
}
}
i++;
if (flag == 0)
{
if (str[j + i] == '\0')
printf(" The word was not found ") ;
}
}
printf("The word was found a total of %d times", mal);
}
Как я могу преобразовать слово «хорошо» в заглавные буквы?
Когда я использую функцию toupper из библиотеки C ctype.h, весь текст преобразуется в заглавные буквы.
ты можешь помочь мне, пожалуйста?
Спасибо