begin process at 2010 02 10 11:51:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

Ordre dans les déclarations de variables ??!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Ordre dans les déclarations de variables ??!

samedi 3 juin 2006 à 11:16:22 | Ordre dans les déclarations de variables ??!

vincemail

    Bonjour à tous, je suis en train de faire un programme en C++ avec devC++, et je viens de trouver un bug que je n'arrive pas à comprendre, je veux stocker dans un tableau (appelé ligne) des chaines de caractères que je lis dans un fichier, voici le programme (simplifié) :

int main(int argc, char *argv[]){
    char* chaine;                                    
    char** ligne;                              
    ligne=new char*[2];

    ifstream fichier("a.txt");                   
        for (int i=0; i<1; i++){
            fichier >> chaine;
            ligne[i]=chaine;
        }         
    fichier.close();
    system("PAUSE");
    return EXIT_SUCCESS;
}


Et ca plante en envoyant un message d'erreur... le plus surprenant c'est que ca marche lorsque j'inverse l'ordre des déclarations : "char* chaine" et "char**ligne"... et d'autre part je suis obligé d'utiliser une variable intermédiare char* chaine car fichier>>ligne[i]; fait aussi planter le programme... C'est le genre de problème qui me désespère, help !
Merci d'avance
Vincent
samedi 3 juin 2006 à 11:26:38 | Re : Ordre dans les déclarations de variables ??!

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
fichier >> chaine;

Ici chaine ne pointe nulle part (pas d'espace alloué). Ca va donc écrire n'importe ou. Dans ces cas la, tu peux donc t'attendre à n'importe que résultat.
Tu devrais déclarer ligne comme un tableau à deux dimensions statique (pas besoin de new si tu connais déja la taille)
samedi 3 juin 2006 à 11:37:05 | Re : Ordre dans les déclarations de variables ??!

vincemail

    Effectivement c'était bien ça... En fait je ne connais pas d'avance la taille de mon tableau, mais en la majorant ca fonctionne (et plus besoin de l'intermédiaire "chaine") Merci bien.
Vincent
samedi 3 juin 2006 à 12:55:39 | Re : Ordre dans les déclarations de variables ??!

katsankat

Membre Club
Attention ça fuit! Pas oublier le "delete" après un "new".
samedi 3 juin 2006 à 13:00:34 | Re : Ordre dans les déclarations de variables ??!

vincemail

    Exact :-)


Cette discussion est classée dans : fichier, ligne, ordre, chaine, char


Répondre à ce message

Sujets en rapport avec ce message

PROBLEME pour retourner un char* a partir d'un fichier [ par kobee12 ] Voici ma fonction. Elle prend en argument un caractere. A partir de ce caractere, elle renvoie la chaine qui lui est associe.Par exemple:"fichier_lang PROBLEME pour retourner un char* apres recuperation d'une chaine(sscanf) d'un fichier [ par kobee12 ] Voici ma fonction. Elle prend en argument un caractere. A partir de ce caractere, elle renvoie la chaine qui lui est associe.Par exemple:"fichier_lang Exploitation de fichier en C ?!?!?! [ par GazGaz ] lu allalors voila le truc c'est que je voudrais aller chercher des infos dans un fichier qui est structuré de la meme maniere lignes apres lignes. Je probléme d'écriture fichier [ par phoenixadb ] phoenixadbJ'ai un problème sur une fonction que je n'arrive pas à résoudremon nom de fichier est test.txtet ma fonction:void ecriturefichier(char* nom récup de donnée dans un fichier text [ par ymlf ] Je veux récupere des données dans un fichier teste qui sont contenu entre une chaine de caractere et " .Aucun problème pour des petits fichier mais j' tableau de chaines de char [ par JaguiJaguar ] Salut, je suis etudiant.je dois réaliser un prog en c qui lit une chaine de char, la stocke dans la premiere ligne d'un tableau char *tab[n]où n est l lire un fichier txt ligne par ligne [ par lapinrose67 ] Bonsoir,Je developpe un logiciel en C sous Linux, voila mon problème:Je dois lire un fichier texte ligne par ligne et placer chacune d'entre ellesdans comment extraire un fichier csv ligne par ligne avec visualc++? [ par ngatcha ] bonjour,comment puis je extraire un fichier csv ligne par ligne avec visualc++? J'ai un eproposition de solution mais il y ' a des erreurs dans le co Récuperer une chaine 3 caractère dans une chaine de caractère ? [ par Atomos83 ] Bonjour, alors voila je vous expose mon problème :Je doit scanner un fichier, chaque ligne du fichier est de a meme forme, seul les 3 dernieres caract lire une ligne dans un fichier txt et extraire les champs entre ; [ par drcmomo ] Bonjour!!je vous en prie aidez moi svp!!j'ecris ce code qui permet de lire un fichier txt, apres l'ouverture je dois lire une ligne et extraire les do


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales