Schreiben Sie ein C-Programm zum extrahieren eines Teils einer Zeichenfolge aus einem Zeichen-string mit for-Schleife

#include<stdio.h>
#include<string.h>
void main()
{
char str1[50],str2[50];
int i,j,n,m,l;
clrscr();
printf("Enter the string\n");
gets(str1); //scanf ("%s",str1);
printf("Enter the position of the required character: ");
scanf("%d",&n);
printf("Enter the required number of characters to be extracted: ");
scanf("%d",&m);
l=strlen(str1);
if(m+n-1<l)
 {
  for(i=n-1;i<m+n-1;i++)
   {
    for(j=0;j<i;j++)
    {
     str2[j]=str1[i];
     str2[j]='\0';
    }
   }
printf ("The extracted string is: %s",str2);
 }
else
printf ("string extraction is not possible");
}

Erwartete Ausgabe

Enter the string : UNIVERSITY IN BANGALORE

Enter the position of the required character: 6

Enter the required number of characters to be extracted: 4

The extracted string is: SITY
  • haben Sie tryed zu verwenden strncpy?
  • Und Ihre Frage ist? (Okay, Sie sind nicht immer das gewünschte Ergebnis, denn Sie überschreiben die kopierten Zeichen str2[j] mit null-terminator sofort statt, nachdem die Schleife. Sie brauchen auch nicht zwei geschachtelte Schleifen; i und j sind durch die Verschiebung, ich.e die Ausgangsposition.)
InformationsquelleAutor Ali Momin | 2014-12-05
Schreibe einen Kommentar