1

2

int main(void)
{
     FILE *source, *dest;
     char octet;
     source = fopen("blablabla","r");
     dest = fopen("blablabla2","w");

while (fread(octet, 1, 1, source))
{
    fwrite(octet+octet*16, 1, 1, dest);
}

}


enjouaille.

3

4

#include stdio.h

main()
printf ("Hello World \n")


? grin
avatar
Zut je suis reperé, vite ! L1+R1+L2+R2 !
Des ennemis ! ACTIVATING COMBAT MODE - MODULATING PHASE - POWER SURGE ! - CONFLICT RESOLVED
La longue liste des clichés de l'animé et du manga !
RAW ! RAW ! FIGHT THE POWER !

5

Martial Demolins>
Pas de code ? Ah bah euh...
Bon alors le but de parcourir le fichier dans son ensemble. Sachant que tu veux doubler les 4 derniers bits, il te faudra donc rajouter à l'octet lu sa valeur multipliée par 16, étant donné que tu nous donnes les octets codés en hexadécimal ^^

Voilà voilou tongue

6

7

8

vu ce que tu demandes, c'est drôle mais j'aurais pas du tout pensé au C, mais plutôt à sed et une petite expression rationnelle...


du genre sed -e 's/0x.\(.\)/0x\1\1/g'
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

9

Ah c'était des chaînes grin
Bon bah kim t'a donné une meilleure solution :]

10

Ce n'est pas vraiment compliqué à faire ce que tu veux, Martial. Mais si tu n'as jamais touché à du C, tu risques d'avoir du mal ^^
avatar

11

12

c'est dommage, parce que c'est exactement de ça dont tu as besoin wink
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

13

En fait, c'est pas clair.. C'est du texte ou une suite d'octet que tu nous donnes là?
Tout ce qui passe pas par le port 80, c'est de la triche.

14

çay du texte

15

heu, en php, ca tiens en 3 lignes smile

de mémoire, si je ne me trompe pas :

$content = file_get_contents('tonfichier.txt');
$content = preg_replace('/0x0([0-9abcdef])/isU', '0x$1$1', $content);
file_put_contents('tonfichier.txt', $content);
Ancien pseudo : lolo

16

Martial et Yoshi > Pour pas avoir de problèmes avec fopen, je vous suggère "rb" et "wb" qui considère le fichier comme binaire, même si il ne contient que du texte

17

De toute facon le C est super pas adapté là... C'est pour des trucs comme ça que c'est toujours bon de connaitre un langage de script wink Et crois-moi 1500 données, ça va aller vite wink
Tout ce qui passe pas par le port 80, c'est de la triche.

18

c'est clair une ligne de sed et c'est fini smile

19

memes remarque ques squalyl

perso, pour un prgm aussi simple, je ne vois pas l'interet d'utiliser un langage compilé et "compliqué" comme le C alors que le PHP (proche du C) est plus simple et largement suffissant
Ancien pseudo : lolo

20

Tu as compris Martial? ALORS CA SUFFIT MAINTENANT!!!

lol, dsl :$
Tout ce qui passe pas par le port 80, c'est de la triche.

21

Spipu (./19) :
perso, pour un prgm aussi simple, je ne vois pas l'interet d'utiliser un langage compilé et "compliqué" comme le C...
Je vois un intérêt : apprendre le C wink
avatar

22

vi bon, c'est sur wink
Ancien pseudo : lolo

23

24

Ouai enfin en C aussi on a les expressions régulières tongue

25

Et puis le parfait linuxien comment par apprendre les fonctions de base comme sed tongue

26

27

Edited_869

28

(cross) 25> non, je t'explique.

En gros, tu vas parcourir un fichier et en écrire un autre.

donc, un while, la fin du fichier est signalée quand feof(FILE *f) passe à TRUE (différent de zéro)

fgetc te permet de lire un caractère dans un fichier. Tu lis jusqu'à tomber sur un caractère zéro, puis tu lis le suivant pour vérifier que c'est un x. Alors, tu lis deux caractères et tu les transformes en octet. Ensuite, ce que tu veux, c'est obtenir l'octet (valeur + (valeur<<4)) et écrire ça dans la destination, tu peux utiliser fprintf(FILE* dest, format, ...)

29

Edited_870

30

confus c'est prise de tête ce que j'ai écrit?