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
|
|