Main Content

strcmp

Comparer des chaînes de caractères dans un diagramme Stateflow (sensible à la casse)

Description

tf = strcmp(str1,str2) compare les chaînes de caractères str1 et str2.

  • Dans les diagrammes utilisant MATLAB® comme langage d’action, l’opérateur renvoie 1 (true) si les chaînes de caractères sont identiques et 0 (false) dans le cas contraire.

  • Dans les diagrammes utilisant le C comme langage d’action, l’opérateur renvoie 0 si les chaînes de caractères sont identiques. Dans le cas contraire, il renvoie un entier non nul qui dépend du compilateur utilisé. Cette valeur peut être différente dans la simulation et dans le code généré.

exemple

tf = strcmp(str1,str2,n) compare les n premiers caractères de str1 et str2.

Remarque

Cette syntaxe n’est supportée que dans les diagrammes Stateflow® utilisant C comme langage d’action. Dans les diagrammes utilisant MATLAB comme langage d’action, utilisez strncmp.

exemple

Exemples

développer tout

Renvoie la valeur 1 (true) car les chaînes de caractères sont égales.

x = strcmp("Hello","Hello");

Stateflow chart that uses the strcmp operator in a state.

Renvoie la valeur 0 (false) car les chaînes de caractères ne sont pas égales.

y = strcmp("Hello","Hello!");

Stateflow chart that uses the strcmp operator in a state.

Vous pouvez comparer des chaînes de caractères avec des opérateurs relationnels. Utilisez == pour déterminer si deux chaînes de caractères sont égales.

[str1 == str2]

Stateflow chart that uses the strcmp operator in a transition.

Utilisez ~= pour déterminer si deux chaînes ne sont pas égales.

[str1 ~= str2]

Stateflow chart that uses the strcmp operator in a transition.

Renvoie la valeur 0 car les chaînes de caractères sont égales.

x = strcmp("Hello","Hello");

Stateflow chart that uses the strcmp operator in a state.

Renvoie une valeur non nulle car les chaînes de caractères ne sont pas égales.

y = strcmp("Hello","Hello!");

Stateflow chart that uses the strcmp operator in a state.

Vous pouvez comparer des chaînes de caractères avec des opérateurs relationnels. Utilisez == pour déterminer si deux chaînes de caractères sont égales.

[str1 == str2]

Stateflow chart that uses the strcmp operator in a transition.

Utilisez != ou ~= pour déterminer si deux chaînes de caractères ne sont pas égales.

[str1 != str2]

Stateflow chart that uses the strcmp operator in a transition.

Renvoie la valeur 0 car les chaînes de caractères commencent par les cinq mêmes caractères.

z = strcmp("Hello","Hello!",5);

Stateflow chart that uses the strcmp operator in a state.

Cette syntaxe n’est supportée que dans les diagrammes Stateflow utilisant C comme langage d’action. Dans les diagrammes utilisant MATLAB comme langage d’action, utilisez strncmp.

Arguments d'entrée

développer tout

Chaînes de caractères en entrée, spécifiées sous forme de string scalar. Dans les diagrammes utilisant MATLAB comme langage d’action, placez les chaînes de caractères littérales entre guillemets doubles.

Exemple : "Hello"

Nombre de caractères vérifiés en commençant au début de chaque chaîne de caractères, spécifié en tant qu'entier positif.

Historique des versions

Introduit dans R2018b