Cómo leer una cadena en C

click fraud protection

Cómo leer una cadena en C. El lenguaje de programación C no proporciona un tipo de datos de cadena real. En C, una cadena es emulada por una matriz de caracteres que termina en NULL. Una matriz de este tipo se puede declarar estáticamente o como un puntero. El estándar C proporciona muchas funciones para manipular matrices de caracteres o cadenas de C. Este artículo se centra en las funciones que leen del flujo de entrada y de los archivos. Siga estos consejos para aprender a leer una cadena en C.

Paso 1

Comprende los conceptos básicos. Una cadena C es una matriz de tipo gráfico. Al igual que con todas las matrices C, el primer elemento se indexa en 0 y el último en "longitud de cadena menos 1". Por lo general, el compilador inserta NULL en la última ubicación, por lo que la cadena puede contener "longitud de cadena menos 1" elementos. Null es equivalente a 0x00 en forma de número entero y '\ 0' en forma de caracteres. El operador "[]" accede a los elementos. El paso 2 ilustra estos conceptos.

Video del día

Paso 2

Agregue la "directiva de inclusión" a continuación a cualquier archivo de origen antes de usar las funciones de este tutorial:

#include

Paso 3

Declare una cadena C. El siguiente código muestra una declaración utilizando el método estático y el puntero:

// declaración estática char str [50] = {0}; // forma abreviada de inicializar todos los elementos a 0 // str [49] es NULL // str tiene capacidad para 48 caracteres // declaración por puntero char pStr = NULL; // sin asignación de memoria pStr = (char) malloc (50); // esto lo hace "malloc ()"

Etapa 4

Leer datos en una cadena C usando "scanf ()", que lee una serie de cadenas separadas por espacio del estándar de entrada y los coloca en las direcciones que pertenecen a las variables de referencia apropiadas, de acuerdo con un "formato cuerda":

int n; printf ("Ingrese su nombre y edad:"); scanf ("% s% d", str, & n); // printf ("Tu nombre es% sy eres% d mayor \ n", str, n);

Paso 5

Ponga datos en una cadena C usando la función más simple "gets ()", que lee datos de la entrada estándar en una cadena solamente:

printf ("Ingresa tu apellido:"); obtiene (str); printf ("Tu nombre es% s \ n", str);

Paso 6

Lea los datos del archivo en una cadena C usando "fscanf ()"; esta función es análoga a "scanf ()":

ARCHIVO * pFile; pFile = fopen ("myFile.txt", "r"); // asumimos que el archivo existe y tiene datos if (NULL! = pFile) {fscanf (pFile, "% s", str); printf ("La primera palabra del archivo es% s \ n", str); fclose (pFile); }

Paso 7

Repita el paso 5 usando "fgets ()", que funciona igual que "gets ()":

ARCHIVO * pFile; pFile = fopen ("myFile.txt", "r"); if (NULL! = pFile) {fgets (pFile, str); printf ("La primera palabra del archivo es% s \ n", str); fclose (pFile); }

Cosas que necesitará

  • Compilador C / C ++ IDE o C

  • Libro sobre C, como "El lenguaje de programación C" de Brian W. Kernighan

Propina

Para obtener más información sobre las funciones mencionadas, visite el sitio web de C Plus Plus.

Advertencia

No intente compilar este código. Solo está destinado a demostrar las funciones. No es un programa coherente y dará errores cuando se compile.