begin process at 2012 05 30 08:43:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Au secours ! Tableau perd ses données :-(


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

Au secours ! Tableau perd ses données :-(

mardi 4 mars 2003 à 15:29:33 | Au secours ! Tableau perd ses données :-(

Michel76

Un de mes tableaux perd totalement ses données. Que se passe-t-il ? Comment y remédier ????


for(i=0;i<nb_codes;i++)
printf("codes : %s\n",codes[i]); /* Affiche correctement */

while((read(fichier_donnees,ligne_fichier,longueur_ligne))!=0)
{

for(i=0;i<nb_codes;i++)
printf("codes : %s\n",codes[i]); /* Affiche n'importe quoi */

Merci davance

Michel
mardi 4 mars 2003 à 15:46:21 | Re : Au secours ! Tableau perd ses données :-(

crocejf2000

Comment alloue tu ton tableau ?

Hart


-------------------------------
Réponse au message :
-------------------------------

> Un de mes tableaux perd totalement ses données. Que se passe-t-il ? Comment y remédier ????
>
>
> for(i=0;i<nb_codes;i++)
> printf("codes : %s\n",codes[i]); /* Affiche correctement */
>
> while((read(fichier_donnees,ligne_fichier,longueur_ligne))!=0)
> {
>
> for(i=0;i<nb_codes;i++)
> printf("codes : %s\n",codes[i]); /* Affiche n'importe quoi */
>
> Merci davance
>
> Michel
mardi 4 mars 2003 à 15:59:42 | Re : Au secours ! Tableau perd ses données :-(

Michel76

Merci Hart d'essayer de m'aider.

Voilà en détail rapide, je veux récupérer des lignes se trouvant dans un fichier et les placer dans un tableau.
Je ne connais pas le nombre de lignes.
Mais connais la longueur des lignes (toutes de même longueur) par la variable longueur_code, alors j'ai essayé de la sorte :

----------------
char * *codes;
int nb_codes;
char *ligne_fichier;

ligne_fichier=malloc(long_code_carte*sizeof(char));
codes = malloc(4*sizeof(char));
nb_codes=0;

fd=fopen("fichier.txt","r");

while((fscanf(fd,"%s",ligne_fichier))!=EOF)
{
codes=realloc(codes,(nb_codes+1)*sizeof(char *));
codes[nb_codes]=malloc((longueur_code+1)*sizeof(char));
strcpy(codes[nb_codes++],ligne_fichier);
}
fclose(fd);
----------------
Juste après :

for(i=0;i<nb_codes;i++)
printf("codes : %s\n",codes[i]);

affiche correctement, mais perd toutes les infos quelques lignes plus loin.

J'imagine que mon code est très "sal", je suis pressé et désespéré, du coup j'écris n'importe quoi et je ne sais plus comment n'en sortir.

Michel


-------------------------------
Réponse au message :
-------------------------------

> Comment alloue tu ton tableau ?
>
> Hart
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Un de mes tableaux perd totalement ses données. Que se passe-t-il ? Comment y remédier ????
> >
> >
> > for(i=0;i<nb_codes;i++)
> > printf("codes : %s\n",codes[i]); /* Affiche correctement */
> >
> > while((read(fichier_donnees,ligne_fichier,longueur_ligne))!=0)
> > {
> >
> > for(i=0;i<nb_codes;i++)
> > printf("codes : %s\n",codes[i]); /* Affiche n'importe quoi */
> >
> > Merci davance
> >
> > Michel
>
mardi 4 mars 2003 à 16:37:34 | Re : Au secours ! Tableau perd ses données :-(

crocejf2000

J'ai essayer sous BC++ 5 et ca fonctionne parfaitement :

#include <stdlib.h>
#include <stdio.h>



main()
{
char * *codes;
int nb_codes;
char *ligne_fichier;
int long_code_carte=4;
int longueur_code=4;
int i;
FILE* fd;

ligne_fichier=malloc(long_code_carte*sizeof(char));
codes = malloc(4*sizeof(char));
nb_codes=0;


fd = fopen("fichier.txt","r");

while((fscanf(fd,"%s",ligne_fichier))!=EOF)
{
//printf("codes : %s\n",ligne_fichier);
codes=realloc(codes,(nb_codes+1)*sizeof(char *));
codes[nb_codes]=malloc((longueur_code+1)*sizeof(char));
strcpy(codes[nb_codes++],ligne_fichier);
}
fclose(fd);

for(i=0;i<nb_codes;i++)
printf("codes : %s\n",codes[i]);
}

Dit moi si ca marche chez toi ???

A+ Hart
mardi 4 mars 2003 à 16:52:40 | Re : Au secours ! Tableau perd ses données :-(

Michel76

Mis à part la ligne :
//printf("codes : %s\n",ligne_fichier);
que mon compilateur C sous Unix ne comprends pas, ça fonctionne.
Apparement, c'est le même code que je t'avais donné (?).

Comment se fait-il que la même chose dans un code "plus fourni" le tableau se rempli de n'importe quoi quelques lignes plus bas ?

Snif


Michel


-------------------------------
Réponse au message :
-------------------------------

> J'ai essayer sous BC++ 5 et ca fonctionne parfaitement :
>
> #include <stdlib.h>
> #include <stdio.h>
>
>
>
> main()
> {
> char * *codes;
> int nb_codes;
> char *ligne_fichier;
> int long_code_carte=4;
> int longueur_code=4;
> int i;
> FILE* fd;
>
> ligne_fichier=malloc(long_code_carte*sizeof(char));
> codes = malloc(4*sizeof(char));
> nb_codes=0;
>
>
> fd = fopen("fichier.txt","r");
>
> while((fscanf(fd,"%s",ligne_fichier))!=EOF)
> {
> //printf("codes : %s\n",ligne_fichier);
> codes=realloc(codes,(nb_codes+1)*sizeof(char *));
> codes[nb_codes]=malloc((longueur_code+1)*sizeof(char));
> strcpy(codes[nb_codes++],ligne_fichier);
> }
> fclose(fd);
>
> for(i=0;i<nb_codes;i++)
> printf("codes : %s\n",codes[i]);
> }
>
> Dit moi si ca marche chez toi ???
>
> A+ Hart
mardi 4 mars 2003 à 16:57:31 | Re : Au secours ! Tableau perd ses données :-(

crocejf2000

Aucune idée !! Pourquoi n'éssay tu pas en c++ avec le compilateur gcc ? en incluant iostream.h, cout et compagnie ?

Dit moi si tu veut des info., et aussi pourquoi tu prog en C et pas en C++ ?

Hart


-------------------------------
Réponse au message :
-------------------------------

> Mis à part la ligne :
> //printf("codes : %s\n",ligne_fichier);
> que mon compilateur C sous Unix ne comprends pas, ça fonctionne.
> Apparement, c'est le même code que je t'avais donné (?).
>
> Comment se fait-il que la même chose dans un code "plus fourni" le tableau se rempli de n'importe quoi quelques lignes plus bas ?
>
> Snif
>
>
> Michel
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > J'ai essayer sous BC++ 5 et ca fonctionne parfaitement :
> >
> > #include <stdlib.h>
> > #include <stdio.h>
> >
> >
> >
> > main()
> > {
> > char * *codes;
> > int nb_codes;
> > char *ligne_fichier;
> > int long_code_carte=4;
> > int longueur_code=4;
> > int i;
> > FILE* fd;
> >
> > ligne_fichier=malloc(long_code_carte*sizeof(char));
> > codes = malloc(4*sizeof(char));
> > nb_codes=0;
> >
> >
> > fd = fopen("fichier.txt","r");
> >
> > while((fscanf(fd,"%s",ligne_fichier))!=EOF)
> > {
> > //printf("codes : %s\n",ligne_fichier);
> > codes=realloc(codes,(nb_codes+1)*sizeof(char *));
> > codes[nb_codes]=malloc((longueur_code+1)*sizeof(char));
> > strcpy(codes[nb_codes++],ligne_fichier);
> > }
> > fclose(fd);
> >
> > for(i=0;i<nb_codes;i++)
> > printf("codes : %s\n",codes[i]);
> > }
> >
> > Dit moi si ca marche chez toi ???
> >
> > A+ Hart
>
mardi 4 mars 2003 à 17:43:54 | Re : Au secours ! Tableau perd ses données :-(

Michel76

Je viens de trouver pourquoi : une connerie !
Désolé Hart pour le temps perdu.
Merci à toi en tout cas.
Je travaille pour une société de service, d'habitude je bosse à droite à gauche pour gérer des petites équipes de développeurs sur plein de langages différents surtout C++, VB, HTML-JavaScript-VBScript, mais là je fais le pompier pour une société. Je deviens par la force des choses développeur l'espace d'un instant. Ici : un enchevêtrement de programme en C mals foutus... qui ne fonctionne pas !

Je passe pour éteindre le feu... et quand je repartirais vendredi : faudra que ça fonctionne et bien sûr pas le temps de tout réécrire en C++

Super boulot que l'on peut faire !!!

Merci encore

Michel


-------------------------------
Réponse au message :
-------------------------------

> Aucune idée !! Pourquoi n'éssay tu pas en c++ avec le compilateur gcc ? en incluant iostream.h, cout et compagnie ?
>
> Dit moi si tu veut des info., et aussi pourquoi tu prog en C et pas en C++ ?
>
> Hart
mercredi 5 mars 2003 à 08:24:36 | Re : Au secours ! Tableau perd ses données :-(

crocejf2000

Ca venait d'ou alors, juste par curiosité ?
Hart


-------------------------------
Réponse au message :
-------------------------------

> Je viens de trouver pourquoi : une connerie !
vendredi 7 mars 2003 à 13:38:04 | Re : Au secours ! Tableau perd ses données :-(

Michel76

ligne_fichier qui était affecté entre deux, parmi plein de lignes de codes pourri, je n'avais pas fait gaffe.


Michel


-------------------------------
Réponse au message :
-------------------------------

> Ca venait d'ou alors, juste par curiosité ?
> Hart
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Je viens de trouver pourquoi : une connerie !
>


Cette discussion est classée dans : secours, données, tableau, codes, perd


Répondre à ce message

Sujets en rapport avec ce message

passage de tableau de structure en parametre [ par dardarmotus ] dardarmotus Bonjour a tous les developpeurs,Voila j'ai un petit programme qui va chercher des données dans des fichiers texte.(jusque la pas de pbm) C ecrire des données et tableau dans un fichier excel par interface c++ [ par nazca ] Le Zero de la programmationNazcaVotre texte ICIj aimerais savoir comment on fait pour ecrire et sauvegarder des données dans un tableau(tableau deja c Comment stocker des données depuis un fichier dans un tableau [ par Jarod1980 ] Bonjour tout le monde,En fait, mon fichier se compose de 3 colonnes distinctes qui contiennent chacune des chiffres. Je voudrais savoir comment stocke declaration de tableau [ par speeddo ] bonjour,je souhaite utiliser un tableau pour recueillir des données.Le problème est que je ne connais pas le nombre de données et leur type.J'utilise Tableau contenant des données de differents type [ par Sat83 ] Bonjour! je debute en C++ et je souhaiterais savoir si il existe quelquechose ressemblant a un tableau, mais pouvant contenir different type de donnée Initialiser un tableau a deux dimensions a données aléatoire [ par lil_adriano ] Salut tous le monde.j'ai un petit problème avec mon programme. Je voudrais initialiser un tableau a deux dimension mais avec des données précise.C'est Besoin d'aide pour création formulaire [ par micou26 ] Bonjour.Est-il possible de faire un tableau dans un formulaire, pour que je puisse stocks des valeurs dans une de mes tables de ma base.Cette manipula initialiser un tableau avec des données aléatoires, tout en ayant des conditions [ par snakers07 ] bonjour tout le monde, j'ai un petit problème avec mon programme. Je voudrais initialiser un tableau a deux dimension mais avec des données précises, reccuperer les données d'un tableau sur une interface [ par ankou001 ] salut,je suis entarin de réaliser une interface graphique et parmi les control que j'ai utilisé :j'ai listcontrol,pour cette partie tout va bien :j'ai Reception des données dans un tableau [ par jojolastar27 ] bonjour,Je voudrais mettre les donnés dans un tableau.Mes donné sont bien ressu dans un Memo grace a la fonction:Memeo1->Lines->ADD(Socket->ReceiveTex


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 : 2,075 sec (3)

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