1

rapidement, g stocke successivement des strucrt de type DLG ds un fichier externe,
ds un autre prgm g recuperé l'adresse de la 1ere struct ds la var tayst, logiquement pour acceder a la struct suivante il me suffirait de faire :

tayst+=sizeof(DLG); //les struct sont sensées avoir la mm taille


(structure:
struct
{
char *nom;
char *txt;
long *next;
}DLG;
)
mais voila ca marche PAS !
je poste la petite source demain, mais en attendant si vous avez des idees, suggestions, etc, merci d'avance
warau kado niha fuku kitaru.

#trifouet#!!!

2

Il me semble que si tu déclares ton pointeur tayst comme ça : DLG *tayst; tu as juste besoin de faire tayst++; pour accéder à l'élément suivant.

3

merde
le pire c que t'as raison
bon j'essaie ca mais de ttes facons j'aurais surement d'autres conneries a elucider, merci smile
warau kado niha fuku kitaru.

#trifouet#!!!

4

Tu te complique la vie pour rien, si ton fichier ne contient que la meme structure,
utilise fread, C bcp plus simple pour récupérer les structures

5

c'est ultra-lent
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

6

si les structures sont lues une fois pour toute au debut & kil y en
a pas 5000, C tout à fait valable. Ou alors, il faut programmer
un fread à la main

7

non là c lut très souvent vu le contexte de la fct ...
*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & sabrina

8

de toute façon un "fread" beaucoup plus adapté à la situation c'est rapide à coder, et la différence de vitesse est telle que c'est quasiment indispensable.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

9

Le problème est que tu ne peux pas stocker des pointeurs seuls dans la variable (et fread n'y changera strictement rien). Les adresses vers lesquelles ils pointent ne seront plus valables quand le programme qui crée la variable aura terminé son exécution.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

10

Mais j'imagine qu'il stoque des tableaux et non simplement des pointeurs ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

11

kevin> vrai ? galeeere !!! je pensais qu'en faisant une sorte de liste chainee oú je stocke 3 adresses (l'adresse de 2 chaines contenues ds le mm fichier => adresse relatives....heu..enfin...merde meme ca a l'air bien foireux et l'adresse du dialogue suivant si il y en a un) je pourrais aisement recupérer le tout, d'ailleurs je le faisais avec un prgm de test et des printf, ca marchait impec, par contre ds un prgm utilisant genlib, ca foirait et apres avoir lance ce prgm le premier prgm de test ne marchait plus
tu dois avoir raison kevin, donc je dois absolument faire autrement ?

sinon fread c a oublier direct, g pas les moyens de me permettre d'allouer de la mem a chaque dlg ne sachant pas a l'avance leur taille et de toutes facons mon projet c une grosse course a l'economie de RAM

je vais poster les sources
warau kado niha fuku kitaru.

#trifouet#!!!

12

Si les données sont dans le même fichier, il suffit de stocker des offsets depuis le début du fichier plutôt que des pointeurs. Ça permet de calculer le pointeur assez facilement.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

13

qu'est ce que tu appelles un offset confus
warau kado niha fuku kitaru.

#trifouet#!!!

14

liste[2]
2 est l'offset. L'indice en fait.

Tu peux aussi écrire *(liste+2).

15

ah, un indice, ben g pas trop le choix sad
warau kado niha fuku kitaru.

#trifouet#!!!