Bonjour,
J'ai un problème avec le code ci-dessous. *
Je souhaite lire un fichier, et le réécrire en le modifiant un peu (en vue d'un scanf) dans un autre fichier. Toutes mes modifications fonctionnent. Cependant, j'aimerai aussi séparer mon "rls/H=-x" en "rls/H=" et "-x" (cf: fichier lu). Mais je ne peux pas faire un if comme pour les autres, car le caractère 'H' est présent à d'autres endroits de mon fichier texte.
Savez vous comment j'pourrais m'y prendre? Parce que là je suis bien bloqué.
J'ai essayé de modifier en changeant les caractères '/' et 'H' en 'H' et ' ' (compteur, et dès que j'atteins le numéro de caractère de '/', j'opère la modif), ça marche, mais comme la suite de mon fichier change, les numéros de caractère sont modifiés.
Fichier lu:
! Vloc_Rloc
$steps 1503 time= 0.1878750D-01
!-----------------------------------------------------------------------
$icdan SPSPx 2
cdbdy numbr cdtac numbr CDVER behav anbdy numbr antac numbr sttus
RBDY3 9 SPHER 1 sico5 RBDY3 28 SPHER 1 slide 28
rls/H 0.2168742D+00 rlt/H 0.1461062D+01 rln/H 0.1477070D+02
vls = 0.6763135D-01 vlt = 0.4556264D+00 vln = 0.5219771D+01
gTT = 0.2634442D-04
s(1)= 0.3946493D+00 s(2)=-0.8960255D+00 s(3)= 0.2034461D+00
t(1)= 0.1030792D+00 t(2)= 0.2631953D+00 t(3)= 0.9592200D+00
n(1)= 0.9130316D+00 n(2)= 0.3575844D+00 n(3)=-0.1962314D+00
coo1=-0.1611689D-01 coo2=-0.1002224D-01 coo3= 0.1773654D-01
$icdan SPSPx 1
cdbdy numbr cdtac numbr CDVER behav anbdy numbr antac numbr sttus
RBDY3 13 SPHER 1 sico5 RBDY3 61 SPHER 1 slide 61
rls/H-0.7878895D+00 rlt/H-0.2505081D+01 rln/H 0.2626062D+02
vls = 0.1985293D+01 vlt = 0.6312207D+01 vln = 0.9280158D+01
gTT = 0.4225549D-04
s(1)=-0.7080113D+00 s(2)=-0.5811294D+00 s(3)=-0.4012588D+00
t(1)=-0.3202700D+00 t(2)= 0.7706269D+00 t(3)=-0.5509639D+00
n(1)=-0.6294022D+00 n(2)= 0.2615775D+00 n(3)= 0.7317309D+00
coo1= 0.6835382D-02 coo2=-0.2954009D-01 coo3= 0.1610224D-01
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 #include <stdio.h> #include <stdlib.h> #define SORTIE "essai.dat" #include <dirent.h> int main(void) { FILE *traitement=fopen(SORTIE,"w"); FILE *vlocrloc=fopen("Vloc_Rloc.OUT.3"/*fname*/,"r"); int c; while ((c = fgetc(vlocrloc)) != EOF) { if (c == '!') { c = ' '; } else if (c == '=') { c = ' '; } else if (c == 'D') { c = 'e'; } putchar(c); putc(c,traitement); } fclose(vlocrloc); fclose(traitement); return(EXIT_SUCCESS); }
Partager