Fonctions de caractères et fonctions de chaîne (ci-dessous)

strok

char * strtok ( char * str, const char * sep )

  • Le paramètre sep est une chaîne qui définit l'ensemble de caractères utilisés comme séparateurs

  • Le premier paramètre spécifie une chaîne contenant 0 ou plusieurs balises séparées par un ou plusieurs délimiteurs dans la chaîne sep

souviens-toi.

  • La fonction strtok trouve le jeton suivant dans str, le termine par \0 et renvoie un pointeur vers ce jeton. (Note:

La fonction strtok modifiera la chaîne manipulée, de sorte que les chaînes divisées à l'aide de la fonction strtok sont généralement du contenu copié temporairement.

Et peut être modifié. )

  • Le premier paramètre de la fonction strtok n'est pas NULL, la fonction trouvera le premier jeton dans str et la fonction strtok le sauvegardera dans la chaîne

position dans .

  • Le premier paramètre de la fonction strtok est NULL, la fonction démarrera à la position enregistrée dans la même chaîne et recherchera la marque suivante

souviens-toi.

  • Renvoie un pointeur NULL s'il n'existe plus de jetons dans la chaîne

Commençons par un code simple pour expliquer : il n'y a qu'un seul caractère "." dans le tableau arr, puis nous spécifions un "." comme premier paramètre, et marquons ce caractère dans la fonction strtok, le transformant en "\0". (voir buf[3]) et qu'il y a de la mémoire enregistrée, la prochaine exécution commencera à partir de la position enregistrée


erreur

char * strerror (int numéro d'erreur)

Nous pouvons le voir sur la figure ci-dessous : lorsque la fonction de bibliothèque du langage C ne s'exécute pas, il y aura un code d'erreur et la fonction renvoie un pointeur vers la chaîne d'erreur, qui décrit le numéro d'erreur.

Nous expliquons ici : chaque fois que nous faisons une erreur en langage C, le code d'erreur sera stocké dans errno et le code d'erreur suivant écrasera le code d'erreur précédent.

Fonction de classification des personnages :

fonction

Renvoie vrai si son argument remplit les conditions suivantes

iscntrl

tous les caractères de contrôle

isspace

Caractères d'espacement : espace ' ', saut de page '\f', saut de ligne '\n', retour chariot '\r', tabulation '\t' ou tabulation verticale '\v'

même

Nombre décimal 0~9

chiffre personnel

十六进制数字,包括所有十进制数字,小写字母a~f,大写字母A~F

islower

小写字母a~z

isupper

大写字母A~Z

isalpha

字母a~z或A~Z

isalnum

字母或者数字,a~z,A~Z,0~9

ispunct

标点符号,任何不属于数字或者字母的图形字符(可打印)

isgraph

任何图形字符

isprint

任何可打印字符,包括图形字符和空白字符


memcpy

void * memcpy ( void * destination, const void * source, size_t num )

  • 函数memcpy从source的位置开始向后复制num个字节的数据到destination的内存位置。

  • 这个函数在遇到 '\0' 的时候并不会停下来。

  • 如果source和destination有任何的重叠,复制的结果都是未定义的

代码如下:注意我们这个num是字节数


memmove

void * memmove ( void * destination, const void * source, size_t num )

  • 和memcpy的差别就是memmove函数处理的源内存块和目标内存块是可以重叠的。

  • 如果源空间和目标空间出现重叠,就得使用memmove函数处理

我们这个代码是从后到前移动,是src在dest前面所以我们必须从5到1移动,否则就会导致代码打印出来的不是我们所想要的


以上就是我们的字符函数和字符串函数的介绍;完结撒花,喜欢的话请三连支持一下哦!!!

おすすめ

転載: blog.csdn.net/m0_74459304/article/details/129553270