Funciones de caracteres y funciones de cadena (activadas)

Encuentra la longitud de la cuerda.

1.stren

size_t strlen(const char* str)

  • La cadena termina en '\0' y la función strlen devuelve el número de caracteres que aparecen antes de '\0' en la cadena (sin incluir

Contiene '\0' )

  • La cadena a la que apunta el parámetro debe terminar en '\0'

  • Tenga en cuenta que el valor de retorno de la función es size_t, que no está firmado

A continuación se muestra el código directamente (simulando la función strlen):

En esta matriz arr, hay principalmente cuatro elementos del bit \0, por lo que dejamos que nuestro *str se mueva hacia atrás en la función my_strlen hasta el final de \0. Esto es lo que estamos simulando con la función strlen, que termina con el indicador \0 , cuenta el número de elementos antes de \0


2.stracpy

char* strcpy(char * destino, const char * fuente)

  • Copia la cadena C apuntada por el origen en la matriz apuntada por el destino, incluido el

terminar el carácter nulo (y detenerse en ese punto)

  • La cadena de origen debe terminar con '\0'.

  • Copiará '\0' en la cadena de origen al espacio de destino.

  • El espacio de destino debe ser lo suficientemente grande para contener la cadena de origen.

  • El espacio objetivo debe ser mutable.

Aquí explicamos: strcpy (función de propósito, función de origen)

Entonces, en la función strcpy, podemos saber que \0 se puede copiar en la función strcpy

Demostración de error: (el espacio objetivo debe ser lo suficientemente grande)

En esta matriz, arr2 solo puede almacenar 3 elementos, y tenemos elementos como abcdefghi \0 en arr1, por lo que los elementos de arr1 no se pueden colocar en arr2, lo que genera un error.


3. roto

char * strcat (char * destino, const char * fuente)

  • 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中元素的地址


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

Supongo que te gusta

Origin blog.csdn.net/m0_74459304/article/details/129507684
Recomendado
Clasificación