Échange de caractère dans un fichier - C - Programmation
Marsh Posté le 17-11-2004 à 17:36:14
J'ai dit qqchose qui fallait pas ?
Marsh Posté le 17-11-2004 à 20:07:06
tu peux ouvrir un fichier en lecture / écriture et alterner lecture et ecriture en faisant un rewind par exemple
Marsh Posté le 17-11-2004 à 20:48:10
J'ai regardé du côté de fseek() mais je vois pas trop comment on s'en sert...
L'appel fseek( stream, depl, posit) place le pointeur de fichier associé au flux stream à l'emplacement situé depl octets à partir de la position indiqué par posit.
L'argument depl peut être positif, nul ou négatif.
Moi je connais que le numéro de ligne et de caractère qu'il faut changer...
C'est quoi ce flux stream ?
Marsh Posté le 17-11-2004 à 20:59:05
...
tu peux retourner au début du chapitre, parce que les fichiers ne sont pas structurés en ligne ...
et puis un petit peut de poudre pour se dégourdir, ça pourrait aider aussi. man fopen, fseek, ftell, fgetpos, fsetpos.
Sinon, pourquoi tu fais du C ? parce là, tu pédales.
Si tu veux poursuivre, commence par faire un programme bateau comme expliquer dans le K&R : un programme qui lit sur stdin et écrit sur stdout en remplaçant les 'a' par des 'A'. T'as besoin de rien d'autres que getchar / putchar. Fais ça déjà.
Marsh Posté le 17-11-2004 à 20:59:08
oui fais plutot ce que dis Taz, tu as l'air plutot newb
Marsh Posté le 17-11-2004 à 21:00:55
lui dit pas ça, tu vois bien qu'il comprend pas, il va galérer pour finalement tout bousiller dans son fichier parce que l'enregistrement sera remplacé par un autre de différente taille
Marsh Posté le 17-11-2004 à 21:18:46
Pourquoi je le fais en C ? Pour le fun : ouais j'aurais pu le faire en bash mais ça m'intéresse pas.
Marsh Posté le 18-11-2004 à 23:52:36
Bon, comme Taz me l'avait demandé
Code :
|
C'est quoi la suite maintenant ?
Marsh Posté le 18-11-2004 à 23:55:24
bah tu changes la ligne 9 à souhait
# c = getchar();
# while (c != EOF) {
# putchar(toupper(c));
# c = getchar();
# }
bof
# while ((c = getchar()) != EOF) {
# putchar(toupper(c));
# }
est l'usage courant
Marsh Posté le 19-11-2004 à 00:02:58
C'est ptete l'usage courant mais ça bug au début
$ ./a.out
a
d
D
e
E
Marsh Posté le 19-11-2004 à 00:06:09
mais non, idiot du village. c'est toi qui comprends pas ce qui se passe entre entrée et sortie
essaie ./a.out < fichier_texte_à_la_con
Marsh Posté le 19-11-2004 à 00:08:25
Stoi l'idiot du village
$ echo "blabla" > prout
$ ./a.out < prout
LABLA
Marsh Posté le 19-11-2004 à 00:12:11
euh je sais pas ce que tu fous là mais
Code :
|
marche bien comme attendu
Marsh Posté le 19-11-2004 à 00:13:40
Ok, je me tais et c'est moi l'idiot du village.
Sinon pour en revenir à mon vrai pb ?
Marsh Posté le 19-11-2004 à 09:59:43
Faut que je me positionne sur le caractère que je veux changer déjà je pense.
Marsh Posté le 19-11-2004 à 10:06:12
file moi ton JID, parce que là, ça devient pénible. Je serais en ligne cet aprèm
Marsh Posté le 19-11-2004 à 11:49:16
vanilla@jabber.org
Marsh Posté le 17-11-2004 à 15:19:05
Hello,
Je fais un petit programme qui ouvre un fichier et qui doit changer un caractère sur une ligne précise.
Quelles fonctions utilisées pour aller sur le caractère, le changer, etc ?
Le fichier ressemble à
bla bla bla
...
foo bar foo
toto "1"
Je dois changer la valeur du "1" en "0".
Message édité par vanilla le 18-11-2004 à 23:52:58
---------------
Membre du Front de Libération de Datoune | Soutenez le FLD | A Tribute To Datoune