[so] Tema 1 Windows problema ciudata

Catalin Iacob iacobcatalin at gmail.com
Sat Nov 4 22:24:54 EET 2006


Salut

Raspunsul de aseara a fost foarte util, multumesc din nou.

Mai am nevoie de ajutor pentru o problema destul de bizara:  am vazut ca
tema pica testele 4 si 5 din cauza acoladei deschise de la echo ' int main {
....'
Mai precis { nu apare in output. Si programul nu compileaza si deci testul
pica cu glorie.

Am facut tot felul de incercari de comenzi simple in shellul din tema mea:

echo 'a{b' imi scrie doar a
echo 'aaa { bbb' imi scrie aaa  bbb (cu 2 spatii deci practic elimina
acolada)
echo '{' nu scrie nimic
echo '{}' scrie culmea {} ... e singurul mod in care am reusit sa fac sa
apara o acolada deschisa
echo 'aa{}bb' scrie aabb fara nici o acolada si fara spatiu
echo 'aa{ }bb' (cu spatiu intre acolade) scrie aa }bb

Evident ca totusi in marea majoritate a cazurilor shellul merge ca altfel
problema nu era bizara, adica echo 'ana are mere'  afiseaza ana are mere.
Problema e cu acolada deschisa.

Singurul lucru la care pot sa ma gandesc e ca problema vine de la dualitatea
Unicode / Ascii de pe Windows sau de la faptul ca din cine stie ce motive
CreateProcessA trateaza special caracterul { din pathul pe care il primeste.
Fiindca portez tema de pe Linux am ales sa folosesc ASCII si deci apelez
CreateProcessA careia ii trimit un char[] pe post de parametru 2
lpCommandLine (care e LPCSTR adica tot aia). Daca afisez inainte parametrul
pe care urmeaza sa-l trimit lui CreateProcessA , pentru echo 'aa{bb' el este
echo aa{bb (presupun ca de eliminarea ' se ocupa parserul) deci ok si totusi
rezultatul comenzii e ca imi scrie doar aa.

Ce as putea sa fac?

Multumesc
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://cursuri.cs.pub.ro/pipermail/so/attachments/20061104/183ec23c/attachment-0001.htm


More information about the so mailing list