اذهب إلى المحتوى
  • 0

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

Tareq Khashaneh

السؤال

Recommended Posts

  • 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();
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...