Comment lire une chaîne en C
Comment lire une chaîne en C. Le langage de programmation C ne fournit pas de type de données de chaîne réel. En C, une chaîne est émulée par un tableau de caractères qui se termine par NULL. Un tel tableau peut être déclaré statiquement ou sous forme de pointeur. Le C standard fournit de nombreuses fonctions pour manipuler des tableaux de caractères ou des chaînes C. Cet article se concentre sur les fonctions qui lisent à partir du flux d'entrée et des fichiers. Suivez ces conseils pour apprendre à lire une chaîne en C.
Étape 1
Comprendre les bases. Une chaîne C est un tableau de type chart. Comme pour 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 au dernier emplacement, de sorte que la chaîne peut contenir des éléments "longueur de chaîne moins 1". Null est équivalent à 0x00 sous forme entière et '\0' sous forme de caractères. Les éléments sont accessibles par l'opérateur "[]". L'étape 2 illustre ces concepts.
Étape 2
Ajoutez la "directive include" ci-dessous à n'importe quel fichier source avant d'utiliser les fonctions de ce tutoriel :
#include
Étape 3
Déclarez une chaîne C. Le code ci-dessous montre une déclaration utilisant la méthode statique et la méthode du pointeur :
// déclaration statique char str[50] ={0} ; // manière abrégée d'initialiser tous les éléments à 0 // str[49] est NULL // str a une capacité de 48 caractères // déclaration par pointeur char pStr =NULL; // pas d'allocation de mémoire pStr =(char )malloc(50); // ceci est fait par "malloc()"
Étape 4
Lit les données dans une chaîne C à l'aide de "scanf()", qui lit une série de chaînes séparées par un espace à partir de l'entrée standard et les place dans les adresses appartenant aux variables de référence appropriées, selon une "chaîne de format":
int n ; printf("Entrez votre Prénom et Age :"); scanf("%s%d", chaîne, &n); // printf("Votre nom est %s et vous avez %d ans\n", str, n);
Étape 5
Placez les données dans une chaîne C à l'aide de la fonction plus simple "gets()", qui lit les données de l'entrée standard dans une chaîne uniquement :
printf("Entrez votre nom de famille :"); obtient(str); printf("Votre nom est %s\n", str);
Étape 6
Lire les données du fichier dans une chaîne C en utilisant "fscanf("); cette fonction est analogue à "scanf()":
FICHIER* pFichier ; pFile =fopen("monFichier.txt", "r"); // suppose que le fichier existe et contient des données if (NULL !=pFile) { fscanf(pFile, "%s", str); printf("Le premier mot du fichier est %s\n", str); fclose(pFichier); }
Étape 7
Répétez l'étape 5 en utilisant "fgets()", qui fonctionne de la même manière que "gets()":
FICHIER* pFichier ; pFile =fopen("monFichier.txt", "r"); if (NULL !=pFile) { fgets(pFile, str); printf("Le premier mot du fichier est %s\n", str); fclose(pFichier); }
Astuce
Pour en savoir plus sur les fonctions mentionnées, visitez le site Web de C Plus Plus.
Avertissement
N'essayez pas de compiler ce code. Il est uniquement destiné à démontrer les fonctions. Ce n'est pas un programme cohérent et donnera des erreurs lors de la compilation.