Affichage en c

Bonjour,

je travail avec les fichiers en c

le fichier contient les noms des employers

mon but est d'affichier les employers qui leur nom commence par par un caractere qu'on dois entrer au clavier

par exemple les employers qui commence par 'A'

je connait la fonction strcmp qui compare deux chaines mais ca ne marche pas avec mon ca

pouvez vous m'aidez a resolu ce probleme

merci d'avance
Configuration: Windows XP
Firefox 3.5.5

5 réponses

  1. Salut,
    je sais pas si c'est optimisé mais si tu convertis ton char en char* comme un bourrin (comme moi :P),

    #include<stdio.h>
    
    int main(int argc, char** argv) {
    	char myChar = 'A';
    	char convertedChar[2];
    	convertedChar[0] = myChar;
    	convertedChar[1] = '\0';
    	printf("%s\n", convertedChar);
    }


    tu peux alors utiliser la fonction strncmp.
    0
    1. salut

      et pourquoi pas argv[0][0] == myChar ?
      0
      1. Parce qu'on compare des char* pardi !
        0
        1. je viens de m'installer un ubuntu 9.04 avec un gcc 4.3.3
          je lui ai donné
          #include<stdio.h>
          void main(int argc, char** argv) {
            int i;
            if(--argc)
              for(i=1;i<=argc;i++)
                if(argv[i][0]=='A')
                  printf("%d%s argument: '%s'\n", i, i==1?"er":"eme", argv[i]);
          }


          et quand j'appelle ce magnifique programme essai j'ai
          user@coucou:~/$ ./essai
          user@coucou:~/$ ./essai hello world !
          user@coucou:~/$ ./essai salut\ Antoine !
          user@coucou:~/$ ./essai salut Antoine et annabelle
          2eme argument: 'Antoine'
          user@coucou:~/$ ./essai Antoine salue Annabelle
          1er argument: 'Antoine'
          3eme argument: 'Annabelle'

          donc, on peut tester argv[i][0] == myChar !
          0
          1. Pas con ^^ j'avais mal compris dsl. Donc en fait :

            nomEmploye[0] == 'A'
            C'est pour ça qu'il y a pas de fonction santard qui fait ça, c'est trop simple :P

            mb42 c'est ok pour toi ?
            0