文字関数と文字列関数 (オン)

文字列の長さを調べます

1.ストレン

size_t strlen(const char* str)

  • 文字列は '\0' で終わり、strlen 関数は文字列内の '\0' より前に現れる文字数を返します (文字列は含まれません)。

'\0' が含まれます)

  • パラメータが指す文字列は「\0」で終わる必要があります

  • 関数の戻り値は size_t であり、符号なしであることに注意してください。

以下は直接コードです (strlen 関数をシミュレートしています)。

この arr 配列には、ビット \0 の主に 4 つの要素があるため、\0 の終わりまで my_strlen 関数内で * str を逆方向に移動させます。これは、\0 フラグで終わる strlen 関数をシミュレートしているものです。 、\0 より前の要素の数を数えます。


2.strcpy

char* strcpy(char * デスティネーション, const char * ソース)

  • source が指す C 文字列を、destination が指す配列にコピーします。

終了ヌル文字 (そしてその時点で停止)

  • ソース文字列は「\0」で終わる必要があります。

  • ソース文字列の '\0' をターゲット スペースにコピーします。

  • 宛先スペースはソース文字列を保持するのに十分な大きさでなければなりません

  • ターゲット空間は変更可能である必要があります。

ここではstrcpy (目的関数、ソース関数)について説明します。

したがって、strcpy 関数では、\0 を strcpy 関数でコピーできることがわかります。

エラーのデモ: (ターゲット領域は十分な大きさである必要があります)

この配列では、arr2 には 3 つの要素しか格納できず、arr1 には abcdefghi \0 などの要素があるため、arr1 の要素を arr2 に配置できず、エラーが発生します。


3.壊れた

char * strcat ( char * デスティネーション、const char * ソース )

  • Appends a copy of the source string to the destination string. The terminating null character

in destination is overwritten by the first character of source, and a null-character is included

at the end of the new string formed by the concatenation of both in destination.

  • 源字符串必须以 '\0' 结束。

  • 目标空间必须有足够的大,能容纳下源字符串的内容。

  • 目标空间必须可修改

这里我们解释一下:在这个函数中我们可以把arr2中的元素存放在arr1元素的后面,而在这个过程中,我们arr1的数组必须足够大,而且是以\0为标志才能存放到源字符串的后面


4.strcmp

int strcmp ( const char * str1, const char * str2 )

  • This function starts comparing the first character of each string. If they are equal to each

other, it continues with the following pairs until the characters differ or until a terminating

null-character is reached.

  • 标准规定:

  1. 第一个字符串大于第二个字符串,则返回大于0的数字

  1. 第一个字符串等于第二个字符串,则返回0

  1. 第一个字符串小于第二个字符串,则返回小于0的数字

strcmp函数中,我们是依次比较元素的ASCII码值的大小,如果arr1中ASCII码值大于arr2中ASCII码值则打印 > 号,反之,如果相等则打印0

这里我们是a与a比较,b与b比较,z与q比较


5.strstr

char * strstr ( const char *str1, const char * str2)

  • Returns a pointer to the first occurrence of str2 in str1, or a null pointer if str2 is not part of

str1

strstr函数中,我们是在arr1中元素找arr2的元素,而这些元素中,我们是找第一次出现的元素,从而打印出arr1中元素的地址


以上就是我们字符函数的上篇,明天后天我会更新出下篇,喜欢的话请三连留下您的关注哦!!!

おすすめ

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