fwrite()
to wywołanie biblioteki, które najpierw buforuje dane w buforze przestrzeni użytkownika, a następnie wywołuje wywołanie systemowe write()
, aby faktycznie wykonać operacje zapisu.Czy dane w buforze fwrite() zostaną przepłukane, gdy program istnieje nieprawidłowo?
Jeśli program wywołuje
fwrite()
napisać niektóre dane do pliku, ale wtedy istnieje nieprawidłowo, będzie buforfwrite()
byćwyczyszczonezaczerwieniona lub buforowane dane zostaną pozostały w pamięci?
System operacyjny, który rozważam, to Linux.
Myślę, że to może zależeć od systemu operacyjnego. – MikeCAT
@MikeCATI zaktualizowało to pytanie, i powiedzmy, że system operacyjny to Linux –
prawdopodobnie jest niezdefiniowany, ponieważ może specyfikacja nie mówi. może "fflush" można bezpiecznie wywołać w obsłudze sygnału, może nie. –