Что произойдет, если я выйду из программы без закрытия файлов?
Происходят ли какие-то плохие вещи (например, массив файловых дескрипторов уровня операционной системы не освобождается...?)
И на ответ на них в обоих случаях одно и то же
С запрограммированным завершением я имею в виду что-то вроде этого:
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
}
Если ответ зависит от языка программирования, то я хотел бы знать о Си и Си++.
Если ответ зависит от операционной системы, то меня интересует поведение Linux и Windows.