je suis débutant dans le langage C et j'aimerai connaître la façon de tester l'égalite entre une zone d'un fichier de type alphanumérique et une chaine constante ?
J'ai fait différents essais (test une chaine contante directement, déclaration d'une variable) tous infructueux dans le sens ou l'égalité n'est jamais vérifié malgré le fait que des éléments de la zone répondent à la constante.
Quelqu'un pourrait il me donner un exemple de syntaxe qui fonctionne ?
if (fichier.zone == 'TEST')
{
}
else
{
}
Publicité
Posté le 04-07-2005 à 14:18:14
Elmoricq
Modérateur
Posté le 04-07-2005 à 14:38:12
1. Ouvrir le fichier en affectant un descripteur (fopen)
2. Lire le contenu du fichier dans des chaînes de caractères (fgets)
3. Fermer le fichier quand on n'en a plus besoin (fclose)
4. Interpréter le contenu lu pour en extraire le champ correspondant (à toi de faire à ta sauce)
5. Comparer les deux chaînes de caractères qui vont bien (strcmp)
Sinon, une chaîne de caractères se met entre guillemets, ce qu'on met en apostrophe c'est un seul caractère.
buster27
Posté le 04-07-2005 à 14:53:13
pourrais tu me donner un exemple concret de code pour lequel le code suivant serait correct : if (fichier.zone == 'TEST')
Sachant que la zone (fichier.zone) comporte 7 caractères, elle donc complétée par des blancs.
Taz
bisounours-codeur
Posté le 04-07-2005 à 14:57:53
strcmp.
theshockwave
I work at a firm named Koslow
Posté le 04-07-2005 à 15:05:19
j'explicite la requête d'Elmoricq, vu qu'elle n'a pas l'air d'avoir été remarquée :
if (fichier.zone == 'TEST' "TEST" )
Message édité par theshockwave le 04-07-2005 à 15:05:29
je suis débutant dans le langage C et j'aimerai connaître la façon de tester l'égalite entre une zone d'un fichier de type alphanumérique et une chaine constante ?
Ton livre de C indique que pour comparer des chaines, on utilise strcmp() ou strncmp().