If (.....)

Résolu/Fermé
Utilisateur anonyme - 29 nov. 2010 à 19:46
 Utilisateur anonyme - 29 nov. 2010 à 20:10
Bonjour,

Je veux faire un programme qui regarde le contenu du fichier test.txt et qui fait :
if (ce que contient test.txt == 1)
alors ouvrir cmd.exe

Voici mon code, mais il ne marche pas :

#include <stdio.h>
#include <stdlib.h>

#define TAILLE_MAX 1000 // Tableau de taille 1000

int main(int argc, char *argv[])
{
FILE* fichier = NULL;
char chaine[TAILLE_MAX] = ""; // Chaîne vide de taille TAILLE_MAX

fichier = fopen("test.txt", "r");

if (fichier != NULL)
{
fgets(chaine, TAILLE_MAX, fichier); // On lit maximum TAILLE_MAX caractères du fichier, on stocke le tout dans "chaine"
printf("%s\n", chaine); // On affiche la chaîne

if (chaine == "1")
{
system("start cmd.exe");
}

fclose(fichier);
}

system("pause");
return 0;
}


Si quelqu'un pouvait m'aider, ca serait sympas.

Merci

2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
29 nov. 2010 à 19:55
Bonjour,

La comparaison entre chaîne de caractère en C ne se fait pas avec l'opérateur ==. Il faut utiliser la fonction strcmp (string compare).
if (strcmp(chaine,"1")==0) {
.../*ici chaîne est égal à 1*/
}

Attention à ne pas sauter à une ligne après le 1 dans le fichier. Sinon il faudra comparer avec "1\n".

Cdlt,
1
Utilisateur anonyme
29 nov. 2010 à 20:10
C'est ce que je cherchais, merci beaucoup !!
0