Файловый ввод / вывод в стандартном С и UNIX

Содержание

Первоначально язык С был реализован в операционной системе UNIX. Как таковые, ранние версии С (да и многие нынешние) поддерживают набор функций ввода/вывода, совместимый с UNIX. Этот набор иногда называют UNIX-подобной системой ввода/вывода или небуферизованной системой ввода/вывода. Однако когда С был стандартизован, то UNIX-подобные функции в него не вошли — в основном из-за того, что оказались лишними. Кроме того, UNIX-подобная система может оказаться неподходящей для некоторых сред, которые могут поддерживать язык С, но не эту систему ввода/вывода.

В этой главе говорится только о тех функциях ввода/вывода, которые определены в стандарте С. В предыдущих изданиях этой книги немного говорилось и о UNIX-подобной файловой системе. Но в течение того времени, которое прошло с выхода последнего издания, число случаев использования стандартных функций ввода/вывода устойчиво росло, а UNIX-подобных функций — устойчиво падало. И теперь большинство программистов пользуются стандартными функциями — эти функции можно переносить во все среды (и даже в C++). А тем программистам, которым нужно пользоваться UNIX-подобными функциями, приходится обращаться к документации по имеющимся у них компиляторам.