Jednoduchy program v C (was: grep -b nefunguje)

Jaroslav Lukesh lukesh na k-net.cz
Úterý Březen 6 09:46:23 CET 2001


| Odesílatel: Alexandr Malusek <malusek na hroch.ujf.cas.cz>
| lukesh na k-net.cz (Jaroslav Lukesh) writes:
| 
| > Program by mel najit pozici textoveho retezce (definovaneho pro
| > jednoduchost treba jako konstantu) na zadanem offsetu 1024B bloku dat
| > (anebo kdekoliv - je to uplne jedno). Vstupem by byl jakkoliv veliky
| > binarni soubor (20GB) a vystupem cislo bloku vzdy na novem radku (+
nejaky
| > definovany text) tak, aby se dal vystup presmerovat do souboru a ten
| > posleze spustit.
| 
| Jednoduchou verzi programu prikladam. Velikost bloku je definovana
| konstantou BUFSIZE, retezec je ulozen v poli "pat". Jednotlive
| elementy lze zadavat napriklad jako znakove konstanty ('a'), decimalni
| konstanty (147) nebo hexadecimalni konstanty (0x01). Velikost pole si
| kompilator urci sam pres operator sizeof().

Wow!

Dekuji mockrat, kdybyste byl holka, dal bych vam pusu :-)

Nechcete nahodou tenhle programek dat k dispozici ostatnim celosvetove,
treba prostrednictvim freshmeatu a sourceforge?

Jeste bych mel dotaz ohledne 

	printf("%lu\n", block);

potreboval bych tam v podstate dostat dd, je to takhle spravne?

printf("%lu\n", "dd if=/dev/hdd2 of=/mnt/d1/solved_", block, " bs=1024
count=128 skip=", block);

Tohle by melo (posleze) ulozit 128kB soubor z nasledujicich bloku, kdyz
proste uz neni k dipozici zacatek disku a tedy ani lde (linux disk editor)
si se svym jinak fantastickym zachrannym skriptem pro soubory, ktere nelze
ani undeletovat, ani nevrzne.

Je to tak spravne? Co "%lu\n" presne dela? Novy radek?

Jeste jednou dekuji mockrat.

Zdravi


             Jaroslav Lukesh
--------------------------------------------------
             note: Bill Gates to Hell!






Další informace o konferenci Linux