Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

Cadenas de programación C

Cadenas de programación C

En este tutorial, aprenderá sobre las cadenas en la programación en C. Aprenderá a declararlos, inicializarlos y usarlos para varias operaciones de E/S con la ayuda de ejemplos.

En la programación C, una cadena es una secuencia de caracteres que termina con un carácter nulo \0 . Por ejemplo:

char c[] = "c string";

Cuando el compilador encuentra una secuencia de caracteres entre comillas dobles, agrega un carácter nulo \0 al final por defecto.


¿Cómo declarar una cadena?

Así es como puede declarar cadenas:

char s[5];

Aquí, hemos declarado una cadena de 5 caracteres.


¿Cómo inicializar cadenas?

Puede inicializar cadenas de varias formas.

char c[] = "abcd";

char c[50] = "abcd";

char c[] = {'a', 'b', 'c', 'd', '\0'};

char c[5] = {'a', 'b', 'c', 'd', '\0'};

Tomemos otro ejemplo:

char c[5] = "abcde";

Aquí, estamos tratando de asignar 6 caracteres (el último carácter es '\0' ) a un char matriz que tiene 5 caracteres. Esto es malo y nunca debes hacer esto.


Asignación de valores a cadenas

Las matrices y las cadenas son ciudadanos de segunda clase en C; no admiten el operador de asignación una vez que se declara. Por ejemplo,

char c[100];
c = "C programming";  // Error! array type is not assignable.

Nota: Utilice la función strcpy() para copiar la cadena en su lugar.


Leer cadena del usuario

Puedes usar el scanf() función para leer una cadena.

El scanf() La función lee la secuencia de caracteres hasta que encuentra un espacio en blanco (espacio, nueva línea, tabulador, etc.).


Ejemplo 1:scanf() para leer una cadena

#include <stdio.h>
int main()
{
    char name[20];
    printf("Enter name: ");
    scanf("%s", name);
    printf("Your name is %s.", name);
    return 0;
}

Salida

Enter name: Dennis Ritchie
Your name is Dennis.

Aunque Dennis Ritchie se ingresó en el programa anterior, solo "Dennis" se almacenó en el nombre cuerda. Es porque había un espacio después de Dennis .

Observe también que hemos utilizado el código nombre en lugar de &name con scanf() .

scanf("%s", name);

Esto se debe a que nombre es un char array, y sabemos que los nombres de los arrays se descomponen en punteros en C.

Así, el nombre en scanf() ya apunta a la dirección del primer elemento de la cadena, por lo que no necesitamos usar & .


¿Cómo leer una línea de texto?

Puedes usar el fgets() función para leer una línea de cadena. Y puedes usar puts() para mostrar la cadena.


Ejemplo 2:fgets() y puts()

#include <stdio.h>
int main()
{
    char name[30];
    printf("Enter name: ");
    fgets(name, sizeof(name), stdin);  // read string
    printf("Name: ");
    puts(name);    // display string
    return 0;
}

Salida

Enter name: Tom Hanks
Name: Tom Hanks

Aquí, hemos usado fgets() función para leer una cadena del usuario.

fgets(name, sizeof(name), stdlin); // read string

El sizeof(name) resultados a 30. Por lo tanto, podemos tomar un máximo de 30 caracteres como entrada, que es el tamaño del nombre cadena.

Para imprimir la cadena, hemos usado puts(name); .

Nota: El gets() La función también puede ser recibir información del usuario. Sin embargo, se elimina del estándar C.

Es porque gets() le permite ingresar cualquier longitud de caracteres. Por lo tanto, podría haber un desbordamiento de búfer.


Pasar cadenas a funciones

Las cadenas se pueden pasar a una función de manera similar a las matrices. Obtenga más información sobre cómo pasar matrices a una función.


Ejemplo 3:pasar una cadena a una función

#include <stdio.h>
void displayString(char str[]);

int main()
{
    char str[50];
    printf("Enter string: ");
    fgets(str, sizeof(str), stdin);             
    displayString(str);     // Passing string to a function.    
    return 0;
}
void displayString(char str[])
{
    printf("String Output: ");
    puts(str);
}

Cadenas y punteros

Al igual que las matrices, los nombres de las cadenas se "descomponen" en punteros. Por lo tanto, puede usar punteros para manipular elementos de la cadena. Le recomendamos que compruebe las matrices C y los punteros antes de comprobar este ejemplo.


Ejemplo 4:cadenas y punteros

#include <stdio.h>

int main(void) {
  char name[] = "Harry Potter";

  printf("%c", *name);     // Output: H
  printf("%c", *(name+1));   // Output: a
  printf("%c", *(name+7));   // Output: o

  char *namePtr;

  namePtr = name;
  printf("%c", *namePtr);     // Output: H
  printf("%c", *(namePtr+1));   // Output: a
  printf("%c", *(namePtr+7));   // Output: o
}

Funciones de cadena de uso común


Lenguaje C

  1. Cuerda C
  2. Espacios de nombres en la programación de C#
  3. Pasar matriz a una función en programación C++
  4. Operadores de programación en C
  5. Cadenas Java
  6. Cadenas de enumeración de Java
  7. C++ Cadenas:strcpy(), strcat(), strlen(), strcmp() EJEMPLOS
  8. Cadenas en C:cómo declarar variable, inicializar, imprimir, ejemplo
  9. Cadenas de Python:reemplazar, unir, dividir, invertir, mayúsculas y minúsculas
  10. Tutorial C
  11. Java - Clase de cadenas