El lenguaje de programación C no proporciona un tipo de datos de cadena real. En C, una cadena es emulado por una serie de caracteres que termina en NULL . Esta matriz puede ser declarado de forma estática o como un puntero. Norma C proporciona muchas funciones para manipular matrices de caracteres o cadenas de carbono. Este artículo se centra en las funciones que se leen de la corriente de entrada y de los archivos . Siga estos consejos para aprender a leer una cadena en C. Cosas que necesitará
C /C + + IDE y compilador de C
libro de C, por ejemplo, " El lenguaje de programación C " de Brian W. Kernighan
Ver Más instrucciones
1
entender los conceptos básicos . Una cadena C es una matriz de carta tipo. Al igual que con todos los arrays de C , el primer elemento está indexado a 0 , y el último a " la longitud de la cadena menos 1 . " Por lo general, el compilador inserta NULL en el último lugar , por lo que la cadena puede contener " la longitud de menos 1 cadena " elementos . Null es equivalente a 0x00 en forma de número entero y '\\ 0 ' en forma de carbón . Los elementos se accede por la " [ ]" operador. Paso 2 ilustra estos conceptos
2
Añada la " directiva de inclusión " por debajo de cualquier archivo de origen antes de utilizar las funciones de este tutorial: .
# Include
3
Declarar una cadena C . El código siguiente muestra una declaración mediante la estática y el método del puntero :
//static declaración
char str [ 50 ] = { 0 } ; //taquigrafía manera de inicializar todos los elementos a 0
//str [ 49 ] es NULL
//str capacidad para 48 caracteres
//declaración de puntero
char * pStr = NULL , //no asignación de memoria
pStr = (char *) malloc ( 50 ) //esto se hace " malloc ()" Página 4
Leer datos en una cadena C usando " scanf () ", que lee una serie de cadenas separadas por el espacio de la entrada estándar y los coloca en las direcciones que pertenecen a las variables de referencia apropiados , de acuerdo a una " cadena de formato ":
int n ; printf ("Escriba su nombre y edad: ");
scanf ("% s % d", str, y n ) //foto printf ("Su nombre es % s y usted es % d de edad \\ n", str , n) ;
5
poner los datos en una cadena C mediante el simple " gets ( ) " función, que lee los datos de la entrada estándar en una cadena única :
printf ("Escriba usted Apellido :") ;
gets ( str) ;
printf ("Su nombre es % s \\ n ", str) ; Página 6
Leer los datos del archivo en una cadena C usando " fscanf () " , esta función es similar a" scanf () " :
fILE * pFile ; < br > pFile = fopen ( " miArchivo.txt ", " r") ; //Supongamos que existe el archivo y tiene
datos if (! NULL = pFile ) {
fscanf ( pFile , "% s " , cadena) ;
printf ( " la primera palabra en el archivo es% s \\ n", str) ;
fclose ( pFile ) ;
} Página 7
Repita el paso 5 con " fgets () ", que funciona de la misma como" gets ( ) " :
archivo * pfile ;
pFile = fopen ( " miArchivo.txt "," r ") ; if ( ! NULL = pFile ) {
fgets ( pFile , str ) ;
printf ( " la primera palabra en el archivo es% s \\ n", str) ;
fclose ( pFile ) ; }