Gestion casse C++

Résolu
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 !!
Configuration: Windows XP
Firefox 3.0

1 réponse

  1. Modérateur
    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
    1. Non ça ne marche pas !
      0
    2. J'ai trouvé...
      Dans la boucle for j'ai mis i < argc au lieu du <=
      0
    3. Modérateur
      @evita8Ah vi, j'avais pas vu :-)
      0