[so] [tema1] Redirectari pe Windows

Marius Gabriel Gutu gabi.gutu at gmail.com
Tue Mar 22 22:49:05 EET 2011


2011/3/22 Adrian Scoica <adrian.scoica at gmail.com>:
> Am observat ca pe windows de fapt nu imi merge tema decat in Cygwing si nu
> inteleg de ce. Iata ce fac:
>
> /* creaza o structura cu file handles in ea */
> /* creaza un proces cu strucura respectiva, si setarile pt mostenirea de
> handle-uri */
> /* asteapta-l sa termine, ia codul de eroare si dupa aia inchide-l */
>
> [ ... apoi la urmatoarea instructiune ... ]
>
> std::cin << COMMAND_PROMPT;
> LOG("Gets here");
> std::getline(std::cin, line); // << Aici se agata
> LOG("Never gets here");
>
> E ca si cum citirea ar astepta input din alta parte. Imi apare cursorul in
> CMD, dar nu ma lasa sa tastez.
>
> Procesul copil ruleaza normal si se incheie cu codul de eroare la care m-as
> astepta (de ex, daca il pun sa execute "cat <in.txt >out.txt", le executa
> corect, la fel si cu "dir"). Nu tine de redirectari, pentru ca atunci cand
> nu este nevoie, nu fac.
>
> De asemenea, in procesul "mini-shell"-ului, nu ma ating niciodata de file
> handle-ul pt STDIN. Singurul lucru care se intampla cu acel handle este sa
> fie mostenit.
>
> De asemenea, daca procesul copil ar inchide cumva STDIN-ul, atunci
> std::getline ar da fail si ar seta flag-urile din stream corespunzator. Doar
> ca... pur si simplu se agata.
>
> _______________________________________________
> http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii
>

Si mie mi se "agata" dupa primul getline, insa in enunt spune ca se va
compila in Visual Studio CMD si se va rula in Cygwin, deci banuiesc ca
ar trebui sa fie ok...


More information about the so mailing list