Gestion casse C++

Résolu/Fermé
evita8 Messages postés 32 Date d'inscription jeudi 27 mars 2008 Statut Membre Dernière intervention 26 mai 2008 - 25 mai 2008 à 23:59
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 26 mai 2008 à 00:19
Bonsoir,

J'écris un programme en c++, je voudrais rendre les arguments passés au lancement du programme insensibles a la casse.
Pour cela j'utilise la fonction TOUPPER.

Mon soucis : le programme fonctionne mais ne fait rien au delà de la boucle for.

Mon code :
#include <iostream.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <string.h>

int main (int argc, char *argv[])
{
    int i;
    int j;
	char c;

    printf("Je suis la num 1 \n");

    for (i = 1 ; i <= argc ; i++)
    {
        j=0;
        while (argv[i][j])
        {
            c=argv[i][j];
            argv[i][j] = toupper(c);
            j++;
            printf("%s \n",argv[i]);
        }
            printf("Je suis ici \n");
    }

    printf("Je suis la num 2 \n");
}




Je lance le programme a partir de la fenetre cmd de la maniere suivante :
Essai.exe premier deuxieme

Ce que j'obtient a l'execution :

Je suis la num 1
Premier
PRemier
PREmier
PREMier
PREMIer
PREMIEr
Je suis ici
Deuxieme
DEuxieme
DEUxieme
DEUXieme
DEUXIeme
DEUXIEme
DEUXIEMe
DEUXIEME
Je suis ici


(il manque le "Je suis la num 2")


Quelqu'un pourrait m'aider ?

Merci !!

1 réponse

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
26 mai 2008 à 00:03
Euh...bizzare ton truc.
Je vais sûrement dire un truc bête mais sait-on jamais, si tu mets le fameux return 0 qui devrait être à la fin du main, ça marche mieux?
0
evita8 Messages postés 32 Date d'inscription jeudi 27 mars 2008 Statut Membre Dernière intervention 26 mai 2008
26 mai 2008 à 00:09
Non ça ne marche pas !
0
evita8 Messages postés 32 Date d'inscription jeudi 27 mars 2008 Statut Membre Dernière intervention 26 mai 2008
26 mai 2008 à 00:17
J'ai trouvé...
Dans la boucle for j'ai mis i < argc au lieu du <=
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527 > evita8 Messages postés 32 Date d'inscription jeudi 27 mars 2008 Statut Membre Dernière intervention 26 mai 2008
26 mai 2008 à 00:19
Ah vi, j'avais pas vu :-)
0