Erreur code:block ou compilateur ?

Fermé
ati14 Messages postés 426 Date d'inscription mercredi 2 juillet 2014 Statut Membre Dernière intervention 7 décembre 2019 - Modifié le 27 janv. 2018 à 15:59
ati14 Messages postés 426 Date d'inscription mercredi 2 juillet 2014 Statut Membre Dernière intervention 7 décembre 2019 - 15 févr. 2018 à 20:56
bonjour
je code a mes heures perdu un petit logiciel en ligne de commande qui pourrais me lire un fichier et m'en extraire certaines données
a un moment je dois lire une ID de auteur du fichier
  cout << "auteur original : ";
  for(int u = 0 ; u<11; u++){
    for(int i = 0 ; i<2 ; i++){
      f.get(c);
      if(i==0){orgUCS2_1 = (unsigned char)c;}
      if(i==1){orgUCS2_2 = (unsigned char)c;}
    }
    idAuthor[u*2] = (char)orgUCS2_1 ;
    idAuthor[(u*2)+1] = (char)orgUCS2_2 ;
  }
  for(int i=0;i<16;i++){
    cout << idAuthor[i];
  }
  cout << endl;

le code ci dessus fonctionne bel et bien
le problème est que le programme me retourne 0xC0000005
ce qui vaut une erreur

cela arrive quand je rajoute le "+1" a la ligne 9
j'ai bien essayé de passer par une variable mais le problème reste le même

la valeur attendue est bien celle ci

auriez vous une piste ?
merci de vos réponse
A voir également:

1 réponse

Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 101
28 janv. 2018 à 13:06
Bonjour,

Pour lire ce code, il manque l'information la plus importante : le type exact de idAuthor.
Est-ce que la table idAuthor fait bien au moins 11*2 éléments et est-ce que ce sont des char? Sinon il y aura vraisemblablement un beau plantage.
0
ati14 Messages postés 426 Date d'inscription mercredi 2 juillet 2014 Statut Membre Dernière intervention 7 décembre 2019 13
15 févr. 2018 à 20:56
merci de votre réponse =)
j'ai finalement trouvé
j’écrivais sur de la zone non allouée
0