Je cherche un outil (ou les paramètres appropriés à passer à un outil
standard) qui puisse me donner la position de toutes les occurrences
d'une chaîne dans un fichier (le fichier fait 50 Go en fait un "dump"
d'un disque crashé obtenu avec dd).
J'ai essayé "grep -b" mais il n'aime pas trop les parties binaires. Mon
autre option est de passer par "hexdump -C" d'abord, mais comme là ma
chaîne risque d'être à cheval sur deux lignes...
Une idée ?
Merci,
Patrick
--
Patrick Stadelmann <Patrick.Stadelmann@unine.ch>
les virus qui se propagent sur internet (appelés ver) sont la plupart du temps basés sur un problème de sécurité, qui est souvent un dépassement de tampon.
OK.
JPaul. -- /==/==- Jean-Paul BLANC / /--/--// quelque-part (somewhere) |/| L | en (in) /|| = ||| FRANCE
DINH Viêt Hoà <dinh.viet.hoa@free.fr> wrote:
les virus qui se propagent sur internet (appelés ver) sont la plupart du
temps basés sur un problème de sécurité, qui est souvent un dépassement
de tampon.
OK.
JPaul.
--
/==/==\- Jean-Paul BLANC
/ /--/--//\ quelque-part (somewhere)
|/| L |\ en (in)
/|| = |||\ FRANCE
les virus qui se propagent sur internet (appelés ver) sont la plupart du temps basés sur un problème de sécurité, qui est souvent un dépassement de tampon.
OK.
JPaul. -- /==/==- Jean-Paul BLANC / /--/--// quelque-part (somewhere) |/| L | en (in) /|| = ||| FRANCE
blanc
DINH Viêt Hoà wrote:
Ce que je vois, c'est que la constante est utilisée en plusieurs lieux du programme et donc, si jamais on veut en changer la valeur (par exemple la faire passer de 128 à 256), on doit penser à le changer partout. Alors qu'avec une constante, c'est réglé en un coup de cuillère à pinceau.
N'est-ce pas ce que j'ai dit ?
JPaul. -- /==/==- Jean-Paul BLANC / /--/--// quelque-part (somewhere) |/| L | en (in) /|| = ||| FRANCE
DINH Viêt Hoà <dinh.viet.hoa@free.fr> wrote:
Ce que je vois, c'est que la constante est utilisée en plusieurs lieux
du programme et donc, si jamais on veut en changer la valeur (par
exemple la faire passer de 128 à 256), on doit penser à le changer
partout. Alors qu'avec une constante, c'est réglé en un coup de cuillère
à pinceau.
N'est-ce pas ce que j'ai dit ?
JPaul.
--
/==/==\- Jean-Paul BLANC
/ /--/--//\ quelque-part (somewhere)
|/| L |\ en (in)
/|| = |||\ FRANCE
Ce que je vois, c'est que la constante est utilisée en plusieurs lieux du programme et donc, si jamais on veut en changer la valeur (par exemple la faire passer de 128 à 256), on doit penser à le changer partout. Alors qu'avec une constante, c'est réglé en un coup de cuillère à pinceau.
N'est-ce pas ce que j'ai dit ?
JPaul. -- /==/==- Jean-Paul BLANC / /--/--// quelque-part (somewhere) |/| L | en (in) /|| = ||| FRANCE
Eric Lévénez
Le 14/07/05 21:03, dans , « DINH Viêt Hoà » a écrit :
Si je fais un malloc(354 * sizeof (char)) j'alloue pour stocker 354 char.
Non, tu fais la même chose, comme "malloc(354 / sizeof(char))", tu alloues 354 mots.
Si on fait une analogie par rapport à la physique et qu'on place sizeof(char) ayant pour unité de mesure l'octet.
Non, pas l'octet. Le C n'a aucun rapport avec l'octet. Le char n'a aucun rapport avec l'octet. Il se trouve juste que l'on utilise, généralement, mais pas tout le temps, une implémentation où un char vaut exactement un octet. C'est juste un cas particulier.
Enfin bon, ce petit aparté sur la taille d'un char, montre bien que la portabilité d'un programme (chose qui a une certaine importance au moment du passage aux Mac/Intel) commence à la base par de bonnes habitudes des programmeurs et une bonne connaissance des outils, comme les langages, qui sont utilisées.
-- Éric Lévénez -- <http://www.levenez.com/> Unix is not only an OS, it's a way of life.
Le 14/07/05 21:03, dans <etPan.42d6b6fe.47e37b1d.2551@utopia>, « DINH Viêt
Hoà » <dinh.viet.hoa@free.fr> a écrit :
Si je fais un malloc(354 * sizeof (char)) j'alloue pour stocker 354
char.
Non, tu fais la même chose, comme "malloc(354 / sizeof(char))", tu alloues
354 mots.
Si on fait une analogie par rapport à la physique et qu'on place
sizeof(char) ayant pour unité de mesure l'octet.
Non, pas l'octet. Le C n'a aucun rapport avec l'octet. Le char n'a aucun
rapport avec l'octet. Il se trouve juste que l'on utilise, généralement,
mais pas tout le temps, une implémentation où un char vaut exactement un
octet. C'est juste un cas particulier.
Enfin bon, ce petit aparté sur la taille d'un char, montre bien que la
portabilité d'un programme (chose qui a une certaine importance au moment du
passage aux Mac/Intel) commence à la base par de bonnes habitudes des
programmeurs et une bonne connaissance des outils, comme les langages, qui
sont utilisées.
--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.
Le 14/07/05 21:03, dans , « DINH Viêt Hoà » a écrit :
Si je fais un malloc(354 * sizeof (char)) j'alloue pour stocker 354 char.
Non, tu fais la même chose, comme "malloc(354 / sizeof(char))", tu alloues 354 mots.
Si on fait une analogie par rapport à la physique et qu'on place sizeof(char) ayant pour unité de mesure l'octet.
Non, pas l'octet. Le C n'a aucun rapport avec l'octet. Le char n'a aucun rapport avec l'octet. Il se trouve juste que l'on utilise, généralement, mais pas tout le temps, une implémentation où un char vaut exactement un octet. C'est juste un cas particulier.
Enfin bon, ce petit aparté sur la taille d'un char, montre bien que la portabilité d'un programme (chose qui a une certaine importance au moment du passage aux Mac/Intel) commence à la base par de bonnes habitudes des programmeurs et une bonne connaissance des outils, comme les langages, qui sont utilisées.
-- Éric Lévénez -- <http://www.levenez.com/> Unix is not only an OS, it's a way of life.
filh
JPaul wrote:
FiLH wrote:
Pourquoi 256 ? Pourquoi pas 357 ?
Parceque tout simplement c'est le nombre de valeurs possibles pour un caractère (de 8 bits bien sûr). Si tu ne l'as pas vu, c'est que tu n'a pas compris le programme.
Mince alors c'était pas 256 dans le programe mais 128.
Je ne comprend plus rien à rien, tu m'expliques donc que je n'ai pas compris l'usage d'une valeur qui n'est pas dans le programme !
Je me tais devant ton génie et je sors sur la pointe des pieds, tu es trop fort pour moi !
FiLH
-- Le fondement du constat bourgeois, c'est le bon sens, c'est-à-dire une vérité qui s'arrête sur l'ordre arbitraire de celui qui la parle. Rolland Barthes. http://www.filh.org
JPaul <blanc@empty.org> wrote:
FiLH <filh@filh.orgie> wrote:
Pourquoi 256 ? Pourquoi pas 357 ?
Parceque tout simplement c'est le nombre de valeurs possibles pour un
caractère (de 8 bits bien sûr). Si tu ne l'as pas vu, c'est que tu n'a
pas compris le programme.
Mince alors c'était pas 256 dans le programe mais 128.
Je ne comprend plus rien à rien, tu m'expliques donc que je n'ai pas
compris l'usage d'une valeur qui n'est pas dans le programme !
Je me tais devant ton génie et je sors sur la pointe des pieds, tu es
trop fort pour moi !
FiLH
--
Le fondement du constat bourgeois, c'est le bon sens, c'est-à-dire
une vérité qui s'arrête sur l'ordre arbitraire de celui qui la parle.
Rolland Barthes.
http://www.filh.org
Parceque tout simplement c'est le nombre de valeurs possibles pour un caractère (de 8 bits bien sûr). Si tu ne l'as pas vu, c'est que tu n'a pas compris le programme.
Mince alors c'était pas 256 dans le programe mais 128.
Je ne comprend plus rien à rien, tu m'expliques donc que je n'ai pas compris l'usage d'une valeur qui n'est pas dans le programme !
Je me tais devant ton génie et je sors sur la pointe des pieds, tu es trop fort pour moi !
FiLH
-- Le fondement du constat bourgeois, c'est le bon sens, c'est-à-dire une vérité qui s'arrête sur l'ordre arbitraire de celui qui la parle. Rolland Barthes. http://www.filh.org
blanc
DINH Viêt Hoà wrote:
On peut dire que je pratique beaucoup le C
Moi aussi.
et les propos de FiLH ne me choquent pas particulièrement.
Moi si ! Et me choque surtout de lire qu'Eric ne pigerait pas, quand on sait ce qu'il a fait.
Quand on n'a rien à apporter au débat, on se l'écrase comme dirait comme diraient les parachutes.
Alors commence par toi.
Sur ce j'ai autre chose à faire qu'à polémiquer sur ce sujet. J'ai apporté ma petite contribution au programme de Nicolas, que je remercie par ailleurs pour l'avoir publié. Vous ne l'avez pas appréciée ni FiLH, ni toi, c'est votre droit.
Et je vous salue. [EOT]
JPaul.
-- /==/==- Jean-Paul BLANC / /--/--// quelque-part (somewhere) |/| L | en (in) /|| = ||| FRANCE
DINH Viêt Hoà <dinh.viet.hoa@free.fr> wrote:
On peut dire que je pratique beaucoup le C
Moi aussi.
et les propos de FiLH ne me
choquent pas particulièrement.
Moi si !
Et me choque surtout de lire qu'Eric ne pigerait pas, quand on sait ce
qu'il a fait.
Quand on n'a rien à apporter au
débat, on se l'écrase comme dirait comme diraient les parachutes.
Alors commence par toi.
Sur ce j'ai autre chose à faire qu'à polémiquer sur ce sujet. J'ai
apporté ma petite contribution au programme de Nicolas, que je remercie
par ailleurs pour l'avoir publié. Vous ne l'avez pas appréciée ni FiLH,
ni toi, c'est votre droit.
Et je vous salue. [EOT]
JPaul.
--
/==/==\- Jean-Paul BLANC
/ /--/--//\ quelque-part (somewhere)
|/| L |\ en (in)
/|| = |||\ FRANCE
et les propos de FiLH ne me choquent pas particulièrement.
Moi si ! Et me choque surtout de lire qu'Eric ne pigerait pas, quand on sait ce qu'il a fait.
Quand on n'a rien à apporter au débat, on se l'écrase comme dirait comme diraient les parachutes.
Alors commence par toi.
Sur ce j'ai autre chose à faire qu'à polémiquer sur ce sujet. J'ai apporté ma petite contribution au programme de Nicolas, que je remercie par ailleurs pour l'avoir publié. Vous ne l'avez pas appréciée ni FiLH, ni toi, c'est votre droit.
Et je vous salue. [EOT]
JPaul.
-- /==/==- Jean-Paul BLANC / /--/--// quelque-part (somewhere) |/| L | en (in) /|| = ||| FRANCE
Eric Lévénez
Le 14/07/05 21:11, dans , « DINH Viêt Hoà » a écrit :
Sachant de plus que les char peuvent être soit de 0 à 255 ou bien
Non, un "unsigned char" peut avoir une valeur de 0 à 255, pas forcément un char qui peut être signé ou non signé. Ces valeurs sont des valeurs minimum, une implémentation donnée peut fournir plus.
de -128 à 127, ce n'est pas gagné.
Non, un "signed char" va de -127 à +127, la valeur -128 est hors de la norme. Ces valeurs sont des valeurs minimum, une implémentation donnée peut fournir plus.
Comme quoi, on aura retenu la leçon que d'essayer d'écrire du nouveau code, à priori, simple.
Heu.... :-)
-- Éric Lévénez -- <http://www.levenez.com/> Unix is not only an OS, it's a way of life.
Le 14/07/05 21:11, dans <etPan.42d6b8f1.7ea8deb9.2551@utopia>, « DINH Viêt
Hoà » <dinh.viet.hoa@free.fr> a écrit :
Sachant de plus que les char peuvent être soit de 0 à 255 ou bien
Non, un "unsigned char" peut avoir une valeur de 0 à 255, pas forcément un
char qui peut être signé ou non signé. Ces valeurs sont des valeurs minimum,
une implémentation donnée peut fournir plus.
de -128 à 127, ce n'est pas gagné.
Non, un "signed char" va de -127 à +127, la valeur -128 est hors de la
norme. Ces valeurs sont des valeurs minimum, une implémentation donnée peut
fournir plus.
Comme quoi, on aura retenu la leçon que d'essayer d'écrire du nouveau
code, à priori, simple.
Heu.... :-)
--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.
Le 14/07/05 21:11, dans , « DINH Viêt Hoà » a écrit :
Sachant de plus que les char peuvent être soit de 0 à 255 ou bien
Non, un "unsigned char" peut avoir une valeur de 0 à 255, pas forcément un char qui peut être signé ou non signé. Ces valeurs sont des valeurs minimum, une implémentation donnée peut fournir plus.
de -128 à 127, ce n'est pas gagné.
Non, un "signed char" va de -127 à +127, la valeur -128 est hors de la norme. Ces valeurs sont des valeurs minimum, une implémentation donnée peut fournir plus.
Comme quoi, on aura retenu la leçon que d'essayer d'écrire du nouveau code, à priori, simple.
Heu.... :-)
-- Éric Lévénez -- <http://www.levenez.com/> Unix is not only an OS, it's a way of life.