Problèem C++

Fermé
tantotland - 18 déc. 2001 à 12:49
 Ripper - 18 déc. 2001 à 13:52
Bonjour,

J'ai une fonction qui prend en entrée un fichier texte. Celle-ci va lire chaque ligne et va stocker les caractères sous la formes ligne[i],
Mais sur certaiens lignes il y a des entiers (de 0 à 7). Je souhaiterais attribuer cet entier (qui est donc un caractère) à une varaible de type entier. Je n'arraive pas du tout à utiliser la fonction atoi, et je ne sasi pas si elle convient. Aidez moi. Par avance merci.

1 réponse

Bon c'est facile =)

tout d'abord il faut que tu test ton caractère pour savoir si c un entier ou pas :

dans ta boucle :

if (ligne[i] >= '0' && ligne[i] <= '7')
{
strcpy (szTmp, ligne + i, 1);
iEntier = atoi (szTmp);
}

Voila en gros on test ton caractère. si il est compris entre 0 et 7 on le copi ds un char * temporaire (pour atoi) que tu peut definir en char szTmp [2]; car il n'excede pas 1 caractère (2 par securité =) . je ne me souvient pas exactement de strcpy il se peut donc que les argument ne soit pas ds cet ordre mais en gros cela copy ds szTmp a partir du caractères sur lekel tu pointe (ligne + i) 1 caractères. ensuite il ne te reste plus qu'a utiliser atoi avec la chaine que tu vient de créer =). Attention n'oublie pas de déclarer tes variables =)

vla ++ Ripper
0