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

coldplay.xixi
Libérer: 2023-01-03 09:30:14
original
25639 Les gens l'ont consulté

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);
Copier après la connexion

[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;
}
Copier après la connexion

Résultat de sortie :

12016464
12016469
Copier après la connexion

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);
Copier après la connexion

[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;
}
Copier après la connexion

Résultat de l'exécution :

12999504
12999529
Copier après la connexion

[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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal