[so] [SO][Tema2][General] fwrite după fread

Adrian Șendroiu molecula2788 at gmail.com
Sun Mar 31 22:39:17 EEST 2019


Salut,

Conform standardului C, între fread și fwrite trebuie să ai un fseek,
iar în teste se respectă condiția asta. (De asemenea între fwrite și
fread o să ai fseek sau fflush).

În fseek, dacă ultima operație a fost read invalidezi ce era în buffer.

On Sun, 31 Mar 2019 at 10:51, Paul Olaru via so <so at cursuri.cs.pub.ro> wrote:
>
> Între fread și fwrite la fișierele cu + este garantat că se va apela un fseek sau fflush. Adică dacă nu e niciun fseek sau fflush între ele teoretic ai avea voie să dai crash. Nu știu ce face glibc în situația asta.
>
> On Sun, Mar 31, 2019, 10:49 Ionuț Mihalache via so <so at cursuri.cs.pub.ro> wrote:
>>
>> Salut,
>>
>> Ce se întâmplă dacă după un fread care lasă niște octeți în buffer se face un fwrite care vrea să scrie mai mult de dimensiunea buffer-ului?
>> Teoretic ar trebui să se invalideze buffer-ul, deci să se aducă cursorul de fișier înapoi cu un număr de octeți egal cu numărul de octeți din buffer. Testele verifică și asta? Eu nu invalidez buffer-ul și testele trec, însă dacă mai adaug și partea asta este posibil să mai apară un apel de sistem în plus pentru repoziționarea cursorului.
>> _______________________________________________
>> http://ocw.cs.pub.ro/courses/so/info/lista-discutii
>
> _______________________________________________
> http://ocw.cs.pub.ro/courses/so/info/lista-discutii


More information about the so mailing list