[so] Demo curs 2 inchidere stdin

Razvan Crainea razvan.crainea at gmail.com
Sun Mar 3 13:27:26 EET 2019


Bună, Andra!

Presupunerea mea este că primul cuvânt din primul fișier are mai mult de 9
caractere. Poți confirma?
Dacă este așa, înseamnă că programul tău, după prima citire din fișier,
suprascrie alte variabile din program (spre exemplu fd), urmând ca apelul
close(fd) sa închidă alt file descriptor decât 0. Poți afișa codurile de
retur ale apelurilor open și close?

Numai bine!

On Sun, Mar 3, 2019 at 1:05 PM Andra Danciu via so <so at cursuri.cs.pub.ro>
wrote:

> Hello!
>
> La cursul 2, la unul dintre demo-uri, Razvan Deaconescu a dat close pe
> stdin, a deschis un fisier si a citit un string cu scanf, presupunand ca
> scanf-ul va citi din fisier. La curs acest demo nu a mers, nu imi explic de
> ce. La mine a functionat. Am dat insa de un comportament ciudat.
>
> Acestui cod i-am dat ca argumente 3 fisiere random cu text in ele:
> https://pastebin.com/xhy4gt6d
>
> La stdout se afiseaza primele 3 cuvinte din primul fisier, in loc sa
> afiseze primul cuvant din fiecare fisier. Fisierele sunt, cumva,
> serializate desi le inchid inainte sa citesc tot continutul (nu imi va citi
> nimic din fisierul 2 pana nu ajunge la finalul primului fisier). Care e
> explicatia?
> _______________________________________________
> http://ocw.cs.pub.ro/courses/so/info/lista-discutii



-- 
Răzvan Crainea
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so/attachments/20190303/6c3a187d/attachment.html>


More information about the so mailing list