[so] [tema1] Redirectari pe Windows

Adrian Scoica adrian.scoica at gmail.com
Tue Mar 22 10:23:16 EET 2011


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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so/attachments/20110322/9bd736cb/attachment.htm>


More information about the so mailing list