Latest web development tutorials

La secuencia de C

En el lenguaje C, las cadenas se utilizan realmente el carácternulo '\ 0' matriz unidimensional de caracteres terminada.Por lo tanto, una cadena terminada en cero que contiene los caracteres de la cadena.

Las siguientes afirmaciones crear e inicializar una cadena "Hola". Desde el final de la matriz para almacenar el carácter nulo, por lo que el tamaño de la matriz de caracteres que la palabra "Hola" es más que un número de caracteres.

char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};

reglas de la inicialización del campo en base, puede escribir la declaración anterior la siguiente declaración:

char greeting[] = "Hello";

La siguiente es una cadena de C / C ++ definido en la memoria, dijo:

C / C ++ representación de cadena

De hecho, no es necesario el carácternuloal final de la constante de cadena. Cuando el compilador C array de inicialización, automáticamente '\ 0' al final de la cadena. Vamos a tratar de la cadena de salida por encima de:

#include <stdio.h>

int main ()
{
   char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};

   printf("Greeting message: %s\n", greeting );

   return 0;
}

Cuando el código se compila y ejecuta, produce los siguientes resultados:

Greeting message: Hello

Hay un gran número de funciones C para manipular cadenas de caracteres:

序号函数 & 目的
1strcpy(s1, s2);
复制字符串 s2 到字符串 s1。
2strcat(s1, s2);
连接字符串 s2 到字符串 s1 的末尾。
3strlen(s1);
返回字符串 s1 的长度。
4strcmp(s1, s2);
如果 s1 和 s2 是相同的,则返回 0;如果 s1<s2 则返回小于 0;如果 s1>s2 则返回大于 0。
5strchr(s1, ch);
返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。
6strstr(s1, s2);
返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。

El siguiente ejemplo usa algunas de las funciones anteriores:

#include <stdio.h>
#include <string.h>

int main ()
{
   char str1[12] = "Hello";
   char str2[12] = "World";
   char str3[12];
   int  len ;

   /* 复制 str1 到 str3 */
   strcpy(str3, str1);
   printf("strcpy( str3, str1) :  %s\n", str3 );

   /* 连接 str1 和 str2 */
   strcat( str1, str2);
   printf("strcat( str1, str2):   %s\n", str1 );

   /* 连接后,str1 的总长度 */
   len = strlen(str1);
   printf("strlen(str1) :  %d\n", len );

   return 0;
}

Cuando el código se compila y ejecuta, produce los siguientes resultados:

strcpy( str3, str1) :  Hello
strcat( str1, str2):   HelloWorld
strlen(str1) :  10

Puede encontrar más funciones relacionadas con cadenas en la biblioteca estándar C.