इस प्रोग्राम में हमने तीन स्ट्रिंग्स txt, oldword, newword दिए हैं। हमारा काम एक टेक्स्ट में एक शब्द को दूसरे दिए गए शब्द से बदलने के लिए एक सी प्रोग्राम बनाना है।
प्रोग्राम टेक्स्ट में पुराने शब्द की सभी घटनाओं की खोज करेगा और इसे newword से बदल देगा। ।
समस्या को समझने के लिए एक उदाहरण लेते हैं -
इनपुट
text = “I am learning programming” oldword = “learning” newword = “practicing”
आउटपुट
“I am practicing programming”
इस समस्या को हल करने के लिए, हम पहले स्ट्रिंग में पुराने शब्द के आने की संख्या का पता लगाएंगे और फिर एक नया स्ट्रिंग बनाएंगे जो टेक्स्ट को बदले हुए शब्दों के साथ संग्रहीत करेगा।
सी प्रोग्राम किसी टेक्स्ट में एक शब्द को दूसरे दिए गए शब्द से बदलने के लिए
// सी प्रोग्राम किसी टेक्स्ट में किसी शब्द को दूसरे दिए गए शब्द से बदलने के लिए
उदाहरण
#include <stdio.h> #include <string.h> #include <stdlib.h> void replaceWordInText(const char *text, const char *oldWord, const char *newWord) { int i = 0, cnt = 0; int len1 = strlen(newWord); int len2 = strlen(oldWord); for (i = 0; text[i] != '\0'; i++) { if (strstr(&text[i], oldWord) == &text[i]) { cnt++; i += len2 - 1; } } char *newString = (char *)malloc(i + cnt * (len1 - len2) + 1); i = 0; while (*text) { if (strstr(text, oldWord) == text) { strcpy(&newString[i], newWord); i += len1; text += len2; } else newString[i++] = *text++; } printf("New String: %s\n", newString); } int main() { char str[] = "I am learning programming"; char c[] = "learning"; char d[] = "practicing"; char *result = NULL; printf("Original string: %s\n", str); replaceWordInText(str, c, d); return 0; }
आउटपुट
Original string: I am learning programming New String: I am practicing programming