logo

Obtenir une sous-chaîne en C

Étant donné une chaîne str et position et seulement qui définit le début et la longueur du sous-tableau. La tâche consiste à générer une sous-chaîne de taille seulement à partir de l'index position .

UN sous-chaîne est une séquence contiguë de caractères dans une chaîne.



chiffres romains de 1 à 100

Exemples:

Saisir: Str = le, pos = 1, len = 2
Sortir: ème
Explication: les sous-chaînes seront : , t, h, e, th, he, the.

Saisir: Str =geeks, pos=3, longueur=3
Sortir: par exemple
Explication: les sous-chaînes sont : , g, e, e, k, s, ge, ee, ek, ks, gee, eek, ex, geek, eeks, geeks.



Approche: Le problème peut être résolu en suivant l'idée ci-dessous :

Créez un tableau de caractères et placez les caractères à partir de position au tableau de caractères pour générer la sous-chaîne.

Suivez les étapes ci-dessous pour mettre en œuvre l'idée :



  • Créez un tableau de caractères pour stocker la sous-chaîne.
  • Itérer à partir de la position donnée pour la longueur donnée pour générer la sous-chaîne requise.
    • Stockez ensuite chaque caractère dans le tableau de caractères et imprimez la sous-chaîne.

Suivez l'illustration ci-dessous pour une meilleure compréhension.

Illustration:

Considérons une chaîne str=abcde , pos = 2 , seulement = 3 .

=> À i = 2 nos ans = c .

=> À i = 3, le caractère est « d ».
Ajoutez donc « d » à la réponse.
Our ans = CD

=> À i = 4, le caractère est « e ».
Ajoutez donc « e » à la réponse.
Heure et = cde .

Vous trouverez ci-dessous la mise en œuvre de l’approche ci-dessus.

C

transformer la chaîne en entier


r en langage c



// C implementation of code> #include> #include> // Function to get substr in C> void> getString(>int> pos,>int> len,>int> c,>char> string[])> {> >char> substring[1000];> >while> (c substring = string[pos + c - 1]; c++; } substring = ' '; // Print the result printf(substring); printf(' '); return 0; } // Driver code int main() { int pos, len, c = 0; // Testcase1 char string[14] = 'geeksforgeeks'; // Initialize pos, len i.e., starting // index and len upto which we have to // get substring respectively. pos = 6; len = 5; printf('String: %s ', string); printf(' substring is: '); // Function call getString(pos, len, c, string); // Testcase2 char string2[5] = 'abcde'; pos = 1; len = 3; c = 0; printf(' String: %s ', string2); printf(' substring is: '); // Function call getString(pos, len, c, string2); return 0; }>

>

>

Sortir

String: geeksforgeeks substring is: forge String: abcde substring is: abc>

Complexité temporelle : À propos
Espace auxiliaire : À propos

Utilisation de la fonction strncpy() en C

Nous pouvons également utiliser la fonction strncpy() en C pour copier la sous-chaîne d'une chaîne d'entrée donnée. Il faut 3 paramètres qui sont la chaîne de destination, la chaîne source ainsi que l'index de départ et la longueur de la sous-chaîne que nous devons copier.

formater une date en java

Syntaxe:

strncpy(destination_string,input_string+pos,len);

Ici position est l'indice de départ et seulement est la longueur de la sous-chaîne que nous voulons copier.

Vous trouverez ci-dessous le code de l'approche ci-dessus.

C

Java contient une sous-chaîne




// C implementation of code> #include> #include> // Driver code> int> main()> {> >int> pos, len;> >// Testcase1> >char> string[14] =>'geeksforgeeks'>;> >char> substring[14];> >// Initialize pos, len i.e., starting> >// index and len upto which we have to> >// get substring respectively.> >pos = 6;> >len = 5;> >printf>(>'String: %s '>, string);> >printf>(>' substring is: '>);> >// Using strncpy function to> >// copy the substring> >strncpy>(substring,string+(pos-1),len);> >printf>(substring);> >// Testcase2> >char> string2[5] =>'abcde'>;> >char> substring2[5];> > >pos = 1;> >len = 3;> >printf>(>' String: %s '>, string2);> >printf>(>' substring is: '>);> >// Using strncpy function to> >// copy the substring> >strncpy>(substring2,string2+(pos-1),len);> >printf>(substring2);> >return> 0;> }> // This code is contributed by Pushpesh Raj.>

>

>

Sortir

String: geeksforgeeks substring is: forge String: abcde substring is: abc>

Complexité temporelle : À propos
Espace auxiliaire : À propos