StevenJLMunn
Messages postés36Date d'inscriptionjeudi 26 juin 2003StatutMembreDernière intervention11 septembre 2005
-
25 juil. 2004 à 20:05
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
26 juil. 2004 à 00:09
J`ecris avec un clavier americain donc je ne peut pas ecrire avec les acents.
Je fais un prog pour les codes serie (je pense ke tout le monde siat ce ke c). Mais j`ai un probleme avec une variable.
voici une partie du code:
void main(void)
{
char a[6],serial[19] = "AAAA-AAAA-AAAA-6-3";
int i;
for(i=0;i<=3;i++)
{
a[i] = serial[i];
}
for(i=5;i<=8;i++)
{
cout << a[i]
}
}
Le prog m`affiche rien!
J`ai beaucoup simplifie la chose mais il faut que dans la 2eme loop le prog m`afiche a[i].
Merci d`avance.
HCJarod
Messages postés221Date d'inscriptionmardi 12 août 2003StatutMembreDernière intervention11 décembre 20081 25 juil. 2004 à 20:15
j'ai rien sous la main pour verifier ce que je te donne mais essaie ça.
void main(void)
{
char a[6],serial[19] = "AAAA-AAAA-AAAA-6-3";
int i;
for(i=0;i<=3;i++)
{
a[i] = serial[i];
}
a[i+1]='\0';//fin de chaine
cout << a
Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 25 juil. 2004 à 23:33
Logique que ca ne t'affiche rien...
Regarde les bornes de tes boucles!
Dans ta premiere boucle tu remplies les 4 premiers éléments du tableau "a[6]".
Ensuite dans la seconde boucle tu affiches les éléments a partir du 5ième. C'est pas logique ton truc.
En plus ton prog doit planter! Tu affiches jusqu'au 9ième élément alors que ton tableau ne peut en contenir que 6!
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 26 juil. 2004 à 00:09
Si ne crash pas c'est GRACE au compilo qui a corrige:
char a[6]; ets devenu char[8] comme aurait du etre correctement declare pour garantir un alignement correct sur processeur 32 bits, toujours multiple de 4.
ensuite il y a le 'i' dessous qui fait 4 octets donc va bon, pas plantage mais seulement tout faux.