Débutant : Help

Débutant : Help - C - Programmation

Marsh Posté le 04-07-2005 à 14:18:14    

Bonjour,  
 
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
{
}

Reply

Marsh Posté le 04-07-2005 à 14:18:14   

Reply

Marsh 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.

Reply

Marsh 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.

Reply

Marsh Posté le 04-07-2005 à 14:57:53    

strcmp.

Reply

Marsh 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
Reply

Marsh Posté le 04-07-2005 à 15:10:32    

theshockwave a écrit :

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" )


 
Euh ouais mais non :
 

Code :
  1. if ( ! strcmp(fichier.zone, "TEST" ) )

Reply

Marsh Posté le 04-07-2005 à 15:32:55    

oui, enfin, je parlais juste des simples / doubles quotes, je n'ai pas cherché pour la suite ... chaque chose en son temps, non ? [:petrus75]

Reply

Marsh Posté le 04-07-2005 à 15:39:57    

buster27 a écrit :

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().
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed