Maison >développement back-end >Tutoriel C#.Net >Comment trouver les caractères spécifiés dans une chaîne en langage C

Comment trouver les caractères spécifiés dans une chaîne en langage C

coldplay.xixi
coldplay.xixioriginal
2021-03-17 15:41:1325670parcourir

Méthode du langage C pour rechercher les caractères spécifiés dans une chaîne : 1. [strchr()] est utilisée pour trouver la position où un certain caractère apparaît pour la première fois dans une chaîne ; 2. La fonction [strrchr()] est utilisée ; pour trouver un certain caractère La position de la dernière occurrence dans la chaîne.

Comment trouver les caractères spécifiés dans une chaîne en langage C

L'environnement d'exploitation de ce tutoriel : système Windows 7, version c99, ordinateur DELL G3.

Méthode du langage C pour rechercher les caractères spécifiés dans une chaîne :

1 strchr() est utilisée pour trouver la position où un caractère apparaît pour la première fois dans un. string. Son prototype est :

    char * strchr (const char *str, int c);

[Paramètre] str est la chaîne à trouver, et c est le caractère à trouver.

strchr() trouvera l'adresse de la première occurrence du caractère c dans la chaîne str et renverra cette adresse.

Remarque : L'indicateur de fin NUL de la chaîne str sera également inclus dans la plage de recherche, de sorte que le dernier caractère de str puisse également être localisé.

[Valeur de retour] Si le caractère spécifié est trouvé, renvoie l'adresse du caractère, sinon renvoie NULL.

L'adresse renvoyée est l'adresse allouée aléatoirement de la chaîne en mémoire plus la position du caractère que vous recherchez dans la chaîne. Supposons que la position où le caractère apparaît pour la première fois dans la chaîne soit i, l'adresse renvoyée peut alors être comprise comme str + i.

Astuce : Si vous souhaitez retrouver la dernière occurrence d'un caractère dans une chaîne, vous pouvez utiliser la fonction strrchr().

[Exemple] Trouvez la position où le caractère 5 apparaît pour la première fois.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
    char *s = "0123456789012345678901234567890";
    char *p;
    p = strchr(s, &#39;5&#39;);
printf("%ld\n", s);
    printf("%ld\n", p);
system("pause");
    return 0;
}

Résultat de sortie :

12016464
12016469

2. La fonction strrchr() est utilisée pour trouver la dernière occurrence d'un caractère dans une chaîne. Son prototype est :

    char * strrchr(const char *str, int c);

[Paramètre] str est la chaîne à trouver, et c est le caractère à trouver.

strrchr() trouvera l'adresse de la dernière occurrence du caractère c dans la chaîne str et renverra cette adresse.

Remarque : L'indicateur de fin NUL de la chaîne str sera également inclus dans la plage de recherche, de sorte que le dernier caractère de str puisse également être localisé.

[Valeur de retour] S'il est trouvé, renvoie la position où le caractère est apparu pour la dernière fois, sinon renvoie NULL.

L'adresse renvoyée est l'adresse allouée aléatoirement de la chaîne en mémoire plus la position du caractère que vous recherchez dans la chaîne. Supposons que la position où le caractère apparaît pour la première fois dans la chaîne est i, l'adresse renvoyée peut alors être comprise comme str + i.

Astuce : Si vous souhaitez rechercher la première occurrence d'un caractère dans une chaîne, vous pouvez utiliser la fonction strchr().

Exemple : Trouver la dernière occurrence du caractère 5.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
    char *s = "0123456789012345678901234567890";
    char *p;
    p = strrchr(s, &#39;5&#39;);
    printf("%ld\n", s);
    printf("%ld\n", p);
    system("pause");
    return 0;
}

Résultat de l'exécution :

12999504
12999529

[Recommandations d'apprentissage associées : Vidéo du didacticiel du langage C]

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn