240

C'est quoi la difficulté fondamentale pour faire des hs?
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

241

g pas dit que je voulais pas le fairetongue
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

242

-

243

Orion_ a écrit :
et Macintoc vu sont niveau en C n'en saurais pas capable

Tiens, ça me fait rappeller un prbm que j'arrive pas à régler. Et vu que t'as une release final et que tous le monde à déjas donné ses impression, je me permet de squatter ton topictongue
Pourquoi quand je demande la taille de cette structure :

struct Sfile
{
unsigned char name[9];
unsigned int size;
unsigned char type[5];
unsigned char stat[4];
};
sizeof(struct Sfile);

ça me renvois 0 ??
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

244

-

245

Si t'as utilisé aucun switch pour empecher ça, il me semble que le tableau de 9 char prend 10 octets, et celui de 5 en prend 6 (alignement sur des adresses paires)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

246

-

247

Il n'empêche que la taille renvoyée par sizeof ne devrait pas être nulle.

248

il faut afficher la valeur en type long
c'est dans la doc de tigcc:
int size=0;
size=sizeof(Sfile);
printf("%ld",size);

je suis pas sur du truc quand même
http://membres.lycos.fr/pingooz/
Un cafe et deux sucres

249

bas tout simplement:

printf_xy (0,0,"%u",sizeof (Sfile));
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

250

-

251

Ca structure n'ai pas un pointeur? Comparé à la structure d'Orion_ qui elle existe dans le programme? Je me mélange à chaque fois avec ça.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

252

-

253

-

254

sizeof(mystruct) affiche 0 si tu utilise %d, il faut en effet passer en %u ou %lu (je sais plus). Mais si tu veux te rassurer, tu peux faire :

short size = sizeof(mystruct);
printf("%d",size);

et ça marchera smile
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

255

Le truc de Vertyos devrait marcher.
Mais il serait plus simple de faire : printf("%d",(short)(sizeof(myfile)));

256

arf le temps d'aller vérifier si ça marchait t'as posté smile
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

257

-

258

struct Sfile
{
unsigned char name[9];
unsigned int size;
unsigned char type[5];
unsigned char stat[4];
};

struct Sfile *ptr_Sfile=NULL;

Ca me paraît plus logique de faire ceci mais dans ce cas il faut allouer de la mémoire pour cette structure avec:

ptr_Sfile = (struct Sfile *)calloc(1,sizeof(struct Sfile));
Et ça doit fonctionner.

Mais si on fait:
typedef struct
{
unsigned char name[9];
unsigned int size;
unsigned char type[5];
unsigned char stat[4];
} Sfile;

Sfile myfile;

myfile ce situe dans le programme?

Dit moi si j'ai tort.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

259

-

260

Donc c'est bien un pointeur qui pointe sur la structure Sfile mais qui ce situe dans le programme, donc toute les variables de Sfile sont local ou globale.

Par contre si j'alloue plein de petite bloque comme une 100 ène dans la mémoire qui contiennent ce genre de structures, est-ce que il ya un nombre limite de bloc?
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

261

-

262

-

263

Alors, soit les solutions ne changes rien, soit ça créer d'autre erreurgrin
Donc ça doit être autre-chose.
Donc, en fait, g exactement ça (avec d'autre trucs entre, bien sur) :

struct Sfile
{
unsigned char name[9];
unsigned int size;
unsigned char type[5];
unsigned char stat[4];
};

void main(void)
{
struct Sfile *files=NULL;
char buffer[5];
sprintf(buffer,"%d",sizeof(struct Sfile));
DrawStr (90,30,buffer, A_NORMAL);
}

et là, ça affiche 0. Donc g un truc de newb qui faut pas faire, mais je vois pas ou.
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

264

il parle de ce probleme dans la doc de tigcc, regarde dedans
http://membres.lycos.fr/pingooz/
Un cafe et deux sucres

265

Euh.... c ou que ça parle de ça ??
G lu ce qui était dis pour chaque truc qu'il y a dans le code (struct, sprintf, ...), et g rien trouvé (ou alors rien compris).
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

266

jackiechan a écrit :
Le truc de Vertyos devrait marcher.
Mais il serait plus simple de faire : printf("%d",(short)(sizeof(myfile)));
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

267

Mais je pense que ça donnera 4.
Tu devrais écrire : sprintf(buffer,"%d",(int)(sizeof(struct *Sfile)));

268

avec (short) (int et short, c considéré comme pareil, de toute façons) ça marche, j'av pas vu ce post, désolersmile
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

269

-

270

nan, j'utilise un tableau dynamique.
Pour le struct Sfile *files=NULL; c pour que realloc fonctionne comme malloc lors de la première allocation de mémoire (qui à l'air de foiré d'ailleur).
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.