fichjer en C - Programmation
Marsh Posté le 21-10-2001 à 22:11:33
salut,
au pif il t'écrirais pas les caractères ascii 13 et 10 ? si oui ça devrait pouvoir se résoudre en ouvrant le fichier en binaire (voir les drapeau disponible pour la fonction), mais comme je te l'ai deja dit je ne maitrise pas vraiment ces fonctions de gestion defichier, j'utilise les autres, donc je ne suis aps sur de mon coup la.
Marsh Posté le 21-10-2001 à 22:16:30
ok en fait, c une horrible betise.....
meme si un double prend 8 oct, en bases 10 il peut aller jusqu a 20 chiffre >> avec fprintf, faut lui liberer 20
octect
.....sinon, Barbarella, j ai essaye le truc ds time.h pour calculer le temps que mettais une page a etre generée,
le seul pb c est qeu ce temps est infereiru a une sec donc ca fait tjrs 0
[edtdd]--Message édité par slvn--[/edtdd]
Marsh Posté le 21-10-2001 à 22:56:48
pour le temps j'ai fait une p"tite fonc
unsigned long diftem(struct timeb tps1,struct timeb tps2)
{
unsigned long val;
val = (unsigned long) (tps2.time-tps1.time);
if(tps2.millitm < tps1.millitm)
{
val -= 1;
tps2.millitm += 1000;
}
val *= 1000;
return(val + (unsigned long)(tps2.millitm-tps1.millitm));
}
pour l'utiliser tu déclare
struct timeb temps1,temps2;
le démarrage du décompte se fait par
ftime(&temps1);
..... la tu mets un code
ftime(&temps2);
tu termines par
vax = diftem(temps1,temps2);
diftem retourne le nombre de millièrme de seconde. la précision est d'environ 5/10 milliseconde .
Il te faut aussi l'include suivant
Windows
#include<\sys\timeb.h>
Linux
#include<sys/timeb.h>
Marsh Posté le 23-10-2001 à 11:12:06
Heu utilise plutôt fread et fwrite en n'oubliant pas d'ouvrir le fichier en binaire ("rwb" ). Tu passe à ces fonctions l'adresse de ce que tu veut lire ou de là où tu veuw écrire ( par exemple l'adresse de ton double) ainsi que la taille en coctet, pour celà utilise la fonction sizeof.
Marsh Posté le 23-10-2001 à 19:05:39
Elles permettent d'acceder au fichier de façon binaire ce qui correspond plus à ce que tu veux faire je pense
Marsh Posté le 23-10-2001 à 20:10:40
ouias c vrai, c est ce qu il m aurait fallu
enfin, j ai quand meme reussit (semble t il) a resoudre mon pb, donc et en plus le fichier est facilement modifiable puisuqe je l edite en tant que texte
Marsh Posté le 21-10-2001 à 21:37:01
voila, j aimerais utilisé un ficheirs pour stocker des infos, et j ai donc besoin de le segmenter en petites parcelles (8octect, 10octect, 30octect ,255octect....)
certaine parcelle du fichier auront besoin de pouvoir etre misz a jour !
pour remplir les parcelles, il n y a pas de pb, mais pour les mettres a jour ca foire ( avec w ou w+, le fichier est effacé // avec a a+ c est ecrit a la fin -meme si on utilise FSEEK-, et avec r+, ca ecrit au bonne endroit mais j ai l impression que ca fait deborder sur d autre parcelle ( par exemple, j utlise 8 octect pour ecrire un "double", et lorsque je le reecris, il m utilise encore 2 octect apres !!)