J'ai la chaîne suivante ID is a sample string remove to /0.10
, je voudrais terminer avec le suivant: ID/0.10
.Méthode plus propre pour supprimer une sous-chaîne de str in C
Voici ce que j'ai trouvé. Cependant, je suis à la recherche d'une façon plus propre/plus agréable de le faire.
#include <stdio.h>
#include <string.h>
int main()
{
char str[] = "ID is a sample string remove to /0.10";
char *a = strstr(str, "ID");
char *b = strrchr (str, '/');
if (a == NULL)
return 0;
if (b == NULL)
return 0;
int p1 = a-str+2;
int p2 = b-str;
int remL = p2 - p1;
int until = (strlen(str) - p1 - remL) +1;
memmove (str+p1, str+(p1+remL), until);
printf ("%s\n",str);
return 0;
}
droite ce que je cherchais. Merci! – Kayla