• 0

كيف أستبدل كلمة ما بمُعطى يُدخله المستخدم [لغة C]؟

السلام عليكم

لدي ملف نصي وأريد أن استبدل كلمة معينة موجودة داخل هذا الملف بكلمة أخرى يدخلها المستخدم .بلغة سي

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

الطريقة المُتبعة في مثل هذه الحالات هي كالتالي:

  • قراءة الملف النصي.
  • مقارنة كل كلمة داخل النص بالكلمة المبحُوث عنها.
  • في حال وُجدت الكلمة المبحوث عنها، يتم استبدالها بالكلمة الجديدة.

كود بلغة C:

 string line;
    size_t len = stringToReplace.length();          //replace is a string to be replaced.
    while (getline(in, line))
    {
        while (true)
        {
            size_t pos = line.find(stringToReplace);
            if (pos != string::npos)
                line.replace(pos, len, stringToReplace);
            else 
                break;
        }

        out << line << '\n';
    }

كود تعويض كلمة من داخل ملف نصي بشكل تفاعلي مع المُستخدم:

/******************************************************************/
/*    REPLACING A WORD IN A TEXT BY ANOTHER GIVEN WORD            */
/******************************************************************/
#include <stdio.h>
#include <string.h>
#include<conio.h>
void main()
{
	   char text[100],word[10],rpwrd[10],str[10][10];
	   int i=0,j=0,k=0,w,p;
	   clrscr();
 
      printf("PLEASE WRITE ANY TEXT.\n");
      printf("GIVE ONLY ONE SPACE AFTER EVERY WORD\n");
      printf("WHEN COMPLETE PRESS  Ctrl-Z  \n");
      gets(text);
      printf("\nENTER WHICH WORD IS TO BE REPLACED\n");
      scanf("%s",word);
      printf("\nENTER BY WHICH WORD THE %s IS TO BE REPLACED\n",word);
      scanf("%s",rpwrd);
      p=strlen(text);
 
      for (k=0; k<p; k++)
	 {
 
	   if (text[k]!=' ')
	     {
	       str[i][j] = text[k];
	       j++;
	     }
	   else
	     {
	       str[i][j]='\0';
	       j=0; i++;
	     }
	}
	str[i][j]='\0';
	w=i;
       for (i=0; i<=w; i++)
	{
	    if(strcmp(str[i],word)==0)
	       strcpy(str[i],rpwrd);
 
	    printf("%s ",str[i]);
       }
   getch();
}

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن