Capt1TaRace a écrit :
ouais c'est sous windows.
j'ai effectivement un compilateur C mais j'y connais vraiment pas grand chose là dedans.
enfin j'imagine que la source pour faire ça doit pas etre enorme si ?
merci d'avance pour ton aide
|
Bon, un truc grossier mais qui devrait fonctionner
Code :
- #include <stdio.h>
- #include <unistd.h>
- int main(int argc, char *argv[])
- {
- FILE *fpIN;
- FILE *fpOUT;
- int c;
- off_t len; // Si ça compile pas, remplace "off_t" par "unsigned long"
- // Ouverture fichiers
- fpIN=fopen(argv[1], "r" );
- fpOUT=fopen(argv[2], "w" );
- // On saute le premier caractère
- fgetc(fpIN);
- // On lit tous les caractères dans in qu'on écrit dans out
- len=0;
- while ((c=fgetc(fpIN)) != EOF)
- {
- fputc(c, fpOUT);
- len++;
- }
- // Fermeture
- fclose(fpIN);
- fclose(fpOUT);
- // On a tout écrit (même le dernier caractère en trop) - On tronque
- truncate(argv[2], len - 1);
- return 0;
- }
|
Tu lances le pgm en lui passant ton fichier, et un autre nom. Il te créera "autre nom" à partir du fichier mais en enlevant les 2 caractères des extrémités
Bon, j'ai pas fait de contrôle (vérification des fopen, vérification que ton pgm a bien 2 noms en paramètres, etc). De plus, si je devais optimiser, je regarderais d'abord la taille du fichier et je ne lirais ni n'écrirais le dernier carac... mais là je suis un peu fatigué...
Message édité par Sve@r le 26-05-2006 à 02:02:08
---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.