Вопрос:
Что произойдет, если я выйду из программы, не закрыв файлы?
Происходят ли какие-то плохие вещи (например, какой-то массив файловых дескрипторов уровня ОС не освобождается ..?)
И на ответ один и тот же в обоих случаях
- запрограммированный выход
- неожиданная авария
Примеры кода:
Под запрограммированным выходом я имею в виду что-то вроде этого:
int main(){
fopen("foo.txt","r");
exit(1);
}
Под неожиданным сбоем я имею в виду что-то вроде этого:
int main(){
int * ptr=NULL;
fopen("foo.txt","r");
ptr[0]=0; // causes segmentation fault to occur
}
P.S.
Если ответ зависит от языка программирования, я хотел бы узнать о C и C++.
Если ответ зависит от ОС, то меня интересует поведение Linux и Windows.