Réécriture dans fichiers texte

Tom -  
 Tom -
Bonjour,

J'ai un fichier texte qui contient 3 données différentes : température \t rapport \t concentration \n.
Ex:

-25 1.601895 0
-24.5 1.592536 0
-24 1.579293 0
-23.5 1.564478 0
-23 1.543629 0
-22.5 1.523344 0
-22 1.502896 0
-21.5 1.480293 0
-21 1.456410 0
-20.5 1.433429 0
-20 1.406304 0
-19.5 1.381826 0
-19 1.358043 0
-18.5 1.332842 0
-18 1.311585 0
-17.5 1.289854 0
-17.1 1.269950 0
-16.5 1.250894 0
-16 1.236008 0
-15.5 1.224363 0
-15 1.211601 0
-14.5 1.200696 0
-14 1.188708 0
-13.6 1.181948 0
-13.1 1.171831 0
-12.4 1.165259 0
-12 1.157851 0
-11.5 1.152188 0
-11.1 1.146705 0
-10.5 1.139156 0
-10 1.132282 0
-9.5 1.102196 0
-9.1 1.086350 0
-8.5 1.089333 0
-8.1 1.091218 0
-7.5 1.081460 0
-7 1.078701 0
-6.5 1.076693 0
-6 1.071090 0
-5.6 1.067851 0
-5 1.072467 0
-4.5 1.074942 0
-4 1.073717 0
-3.4 1.068115 0
-3 1.060454 0
-2.4 1.059838 0
-2 1.040510 0
-1.4 0.997138 0
-1 0.973072 0
-0.5 0.901429 0
0 0.840108 0
0.5 0.830056 0
0.9 0.836100 0
1.4 0.863584 0
2 0.873206 0
2.5 0.897739 0
3.1 0.849873 0
3.5 0.806524 0
4 0.729399 0
4.5 0.720756 0
5 0.720177 0
5.5 0.718032 0
6 0.716959 0
6.4 0.716310 0
6.9 0.714340 0
7.5 0.712496 0
8.1 0.713178 0
8.4 0.712216 0
8.9 0.711338 0
9.4 0.711219 0
10 0.712548 0
-25 1.444319 10
-24.5 1.446063 10
-24.1 1.425614 10
-23.5 1.431921 10
-23.1 1.431313 10
-22.4 1.433270 10
-22.1 1.435056 10
-21.5 1.432768 10
-21 1.432602 10
-20.5 1.433259 10
-20 1.430287 10
-19.6 1.426663 10
-18.9 1.428005 10
-18.5 1.434399 10
-18.1 1.429175 10
-17.4 1.429727 10
-17 1.426773 10
-16.6 1.426945 10
-16.1 1.425282 10
-15.5 1.429819 10
-15 1.421304 10
-14.5 1.414306 10
-14 1.409098 10
-13.4 1.404247 10
-13 1.400926 10
-12.5 1.396120 10
-12 1.391995 10
-11.6 1.389488 10
-11 1.385865 10
-10.5 1.385340 10
-10 1.380776 10
-9.5 1.377521 10
-9 1.370780 10
-8.5 1.367002 10
-8 1.364959 10
-7.5 1.356749 10
-7 1.346120 10
-6.4 1.335121 10
-6 1.321330 10
-5.6 1.306326 10
-5 1.292946 10
-4.5 1.275975 10
-4 1.252719 10
-3.6 1.220213 10
-3.1 1.175820 10
-2.5 1.100953 10
-2 0.979736 10
-1.5 0.834743 10
-1 0.779590 10
-0.5 0.775459 10
0 0.776305 10
0.5 0.776572 10
1 0.761778 10
1.5 0.751346 10
2 0.748589 10
2.5 0.756933 10
3 0.762317 10
3.4 0.752952 10
4 0.757213 10
4.5 0.714334 10
5 0.710135 10
5.5 0.708510 10
5.9 0.704991 10
6.5 0.703295 10
7 0.701300 10
7.5 0.699988 10
8 0.699602 10
8.5 0.697180 10
9 0.696252 10
9.5 0.695445 10
9.9 0.692917 10
-25 1.273054 20
-24.5 1.267577 20
-24.1 1.262376 20
-23.5 1.257493 20
-23 1.251440 20
-22.5 1.244122 20
-22 1.235867 20
-21.4 1.231512 20
-21 1.233322 20
-20.5 1.223444 20
-20 1.219970 20
-19.5 1.219817 20
-19 1.215874 20
-18.5 1.214694 20
-18 1.200041 20
-17.5 1.194793 20
-16.9 1.193006 20
-16.5 1.182853 20
-16.1 1.174527 20
-15.5 1.172182 20
-14.9 1.178392 20
-14.5 1.160688 20
-14 1.151941 20
-13.5 1.184690 20
-12.9 1.185899 20
-12.5 1.187563 20
-12 1.190221 20
-11.5 1.189004 20
-11 1.193333 20
-10.5 1.192618 20
-10 1.191804 20
-9.5 1.187899 20
-9 1.188852 20
-8.5 1.187620 20
-8 1.168609 20
-7.5 1.144167 20
-7 1.127393 20
-6.5 1.111156 20
-5.9 1.094781 20
-5.5 1.083500 20
-4.9 1.066310 20
-4.5 1.047363 20
-4.1 1.029994 20
-3.5 1.010863 20
-3.1 0.977679 20
-2.5 0.944704 20
-2.1 0.907668 20
-1.6 0.889988 20
-1 0.872719 20
-0.5 0.859710 20
0 0.844033 20
0.6 0.831416 20
1 0.877844 20
1.6 0.876809 20
2 0.861775 20
2.5 0.848523 20
3 0.845340 20
3.6 0.810099 20
4 0.806258 20
4.4 0.802166 20
4.9 0.798437 20
5.5 0.794895 20
6 0.789413 20
6.4 0.780596 20
6.9 0.770330 20
7.5 0.758493 20
8.1 0.758384 20
8.4 0.756436 20
9 0.755443 20
9.5 0.754358 20
10 0.751482 20

etc.

J'aimerai lire ce fichier et réécrire dans un autre fichier texte sous la forme :

concentration \t rapport@-25°C \t rapport@-24.5°C \t etc... \n
0 \t 1.60... \t 1.59 \t ... \n
10 \t 1.44... \t 1.446... \t ... \n
20 \t .... \t .... \t... \n
etc.

mais je sais pas du tout comment m'y prendre pour lire ce que je veux et l'écrire où je veux...

Le premier fichier s'appelle "rapport.txt" et le deuxieme "new.txt", voilà mon code :

main()
{
float temp;
float rapport;
float conc;

FILE *fp;
FILE *fs;

fp = fopen("ANALYSE/rapport.txt","r");
fs = fopen("ANALYSE/new.txt","a");

while(!feof(fp))
{
fscanf(fp,"%f\t%f\t%f\n",&temp,&rapport,&conc);
//la suite ??
fprintf(fs, etc... )
}

fclose(fs);
fclose(fp);
}

Merci pour votre aide et vos suggestions...

Tom.

2 réponses

kazouu Messages postés 466 Statut Membre 12
 
si tu connais le format de tes donné et que tu veut les modifié je te conseil d'utiliser READ , qui va te lire ta ligne et te la metre dans un buffer ( tu pourra ainsi la modifier ) et apres tu n'aura plus qu'a faire un write

annexe :
pour le read et le write

http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man2/read.2.html
0
Tom
 
Merci je vais voir avec read et write ce que ça change...
0