Hollosi Information eXchange /HIX/
HIX CODER 1626
Copyright (C) HIX
2002-09-12
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 Re: C kerdes (mind)  10 sor     (cikkei)
2 awk+unace = halaltanc ? (mind)  52 sor     (cikkei)
3 Re:C kerdes (mind)  18 sor     (cikkei)

+ - Re: C kerdes (mind) VÁLASZ  Feladó: (cikkei)

Szia!

int foo(int a, ... ) {  }
A fuggvenyen belul pedig stdarg vagy va_start, de ket eset
lehetseges. Vagy atadod hany parametered van, ld printf() es tarsai,
ahol a %jelek megmondjak hany parametered lesz,
vagy NULL-lal zarod a param. listat, ld execve().
-- 
Hofferek Attila
<hofi at WiZARD dot DunaNet dot hu>
+ - awk+unace = halaltanc ? (mind) VÁLASZ  Feladó: (cikkei)

Szevasztok!

Par hete ragodom a kovetkezokon:
az unace linux alatti valtozatat egy awk scriptbol kell ubereljem (ki
kell csomagolni ace-vel suritett allomanyokat). A problemat sikerult
odaig visszavezetni, hogy mikeppen etetetem az awk scriptet a bemeneti
allomannyal:

$ gawk 'BEGIN {system("unace x archive.ace")}' inputfile

Semmi problema, siman kicsomagolja. Ha viszont igy csinalom:

$ cat inputfile | gawk 'BEGIN {system("unace x archive.ace")}'

akkor eloall az a franya halaltanc. Az unace nem lep ki, hanem lefogja a
procit 100%-ban es muszaly kinyirni.
Az egesz dolgot atirtam az elso valtozatra, de a script cronjob-kent
kell fusson, ha pedig beteszem a crontab-ba, mindket valtozat odafosik.

Kerdesek:
0) Halvany otlet mi lehet a baj?
1) Volt mar-e valakinak tapasztalata a fenti delikvensekkel? [szinte
semmit nem kaptam a forumok archivumjaiban]

[ezt qrva kis betukkel kene irjam, mert nemreg alaposan lehurrogtak az
ingyeneloket]
2) Tudna valaki reprodukalni a fenti hibat, esetleg mas disztrokon, csak
azert, hogy tudjam nem az en gepem a ludas.
En ezeket hasznalom:
Slackware 8.1
2.4.18-as kernel
gawk 3.1.1
unace 2.2 (letoltheto itt: http://www.maxeline.com/winace/linunace22.tgz)

A bemeneti allomany (inputfile) egy sima szovegfajl (akar egysoros is).
A suritett allomanyt windows alol kell megcsinalni, mert nincs ace
surito linux ala. Egyebkent nem feltetlenul szukseges, eleg ha csak
siman az unace-t indul, ugy persze csak a verziot es a hasznalati
utasitasokat irna ki. Szoval:
$ gawk 'BEGIN {system("unace")}' inputfile
ill.
$ cat inputfile | gawk 'BEGIN {system("unace")}'

Ha valaki raszanja magat es kiprobalja, akkor hasznara johet a kovetkezo
parancssor:
$ ps -aux | grep unace | gawk 'system("kill " $2)'
[nehogy megperzselodjon a proci :-)]

Elore koszonom a segitseget!
Ha valaszolsz, legszives egy cc-t ide is: 

sys
+ - Re:C kerdes (mind) VÁLASZ  Feladó: (cikkei)

Szisztok!

> szeretnek egy olyan C fuggvenyt irni, amelyiknek valtozo
>  parameterei vannak, nagyjabol ugy, mint a printf-nek - de nem 
>  tudom, hogyan tudom ezt definialni. Az sprintf es utana a
>  fuggvenyem meghivasa itt nem szerencses megoldas.

Keress ra a help-ben a va_start, va_arg, va_end makrokra.
Ott talalsz peldaprogrammot.

Egyik megoldas, hogy az elso parameter adja meg a 
parameterkek szamat(int) vagy egy formatum (pl.printf).
A masik megoldas, hogy az utolso parameter egy vegjel
(pl. NULL pointer). Ebben az estetben a vegjel nem lehet
ertekes parameter.


Udv. Arpi

AGYKONTROLL ALLAT AUTO AZSIA BUDAPEST CODER DOSZ FELVIDEK FILM FILOZOFIA FORUM GURU HANG HIPHOP HIRDETES HIRMONDO HIXDVD HUDOM HUNGARY JATEK KEP KONYHA KONYV KORNYESZ KUKKER KULTURA LINUX MAGELLAN MAHAL MOBIL MOKA MOZAIK NARANCS NARANCS1 NY NYELV OTTHON OTTHONKA PARA RANDI REJTVENY SCM SPORT SZABAD SZALON TANC TIPP TUDOMANY UK UTAZAS UTLEVEL VITA WEBMESTER WINDOWS