Le langage de programmation C n'offre pas un type réel de données de chaîne . En C, une chaîne est émulé par un tableau de caractères qui se termine par NULL. Un tel réseau peut être déclaré statique ou comme un pointeur . C standard fournit de nombreuses fonctions pour manipuler des tableaux de caractères ou de chaînes de C . Cet article se concentre sur les fonctions qui lisent le flux d'entrée et de fichiers . Suivez ces conseils pour apprendre à lire une chaîne en C. Choses que vous devez C /C + + IDE ou compilateur C
livre sur C , comme " The C Programming Language " par Brian W. Kernighan
Afficher Instructions supplémentaires
1
comprendre les bases. Une chaîne C est un tableau de tableau de type. Comme avec tous les tableaux C , le premier élément est indexé à 0 , et le dernier à " longueur de chaîne moins 1. " Habituellement , le compilateur insère NULL à la dernière position , de sorte que la chaîne peut contenir " longueur de la chaîne moins 1 " éléments. Null est équivalent à 0x00 sous forme entier et '\\ 0' en forme car. Les éléments sont accessibles par l'opérateur "[]" . Étape 2 illustre ces concepts
2
Ajouter la " directive include " ci-dessous pour tout fichier source avant d'utiliser les fonctions de ce tutoriel : .
# Include
3
déclarer une chaîne C . Le code ci-dessous montre une déclaration selon le statique et la méthode de pointeur : Photos //static déclaration
char str [50] = {0} ; //raccourci moyen pour initialiser tous les éléments à 0 DH //str [49 ] est NULL
//str capacité pour 48 caractères
//déclaration de pointer
char * PStr = NULL; //pas d'allocation de mémoire
PStr = (char *) malloc ( 50 ) ; //ceci est fait par « malloc ()» Hôtels 4
Lire données en une chaîne C en utilisant " scanf ( ) ", ce qui indique une série de chaînes séparées par l'espace depuis l'entrée standard et les place dans les adresses appartenant à des variables de référence appropriés , selon une " chaîne de format ":
int n; printf (" Entrez votre prénom et l'âge :");
scanf ( "% d % s" , str, & n); //Photos printf (" Votre nom est % s et vous êtes % d vieux \\ n" , str, n);
5
mettre les données en une chaîne C en utilisant la simple " gets ( ) ", ce qui lit les données à partir de l'entrée standard en une chaîne unique :
printf (" vous Entrez le nom :");
Gets ( str) ;
printf (" Votre nom est % s \\ n ", str) ;
6
Lire les données du fichier dans une chaîne C en utilisant " fscanf ( ) "; cette fonction est analogue à " scanf ( ) ":
FILE * pFile ; < br > pFile = fopen (" myFile.txt ", " r") ; //on suppose que le fichier existe et a
de données if (! = NULL pFile ) {
fscanf ( pFile , "% s" , str ) ;
printf (" le premier mot dans le fichier est% s \\ n", str) ;
fclose ( pFile ) ; }
7
Répétez l'étape 5 en utilisant " fgets () », qui fonctionne de la même façon que" gets ( ) ":
FILE * pfile ;
pFile = fopen (" myFile.txt "," r ") ; if (! = NULL pFile ) {
fgets ( pFile , str ) ;
printf (" le premier mot dans le fichier % s \\ n", str) ;
fclose ( pFile ) ; }