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 ) ; }
|