Читаем Системное программирование в среде Windows полностью

ОбластьWindowsUNIXБиблиотека СПримечания
Консольный ввод/выводAllocConsoleТерминальный ввод/вывод-
Консольный ввод/выводFreeConsoleТерминальный ввод/вывод-
Консольный ввод/выводReadConsolereadgetc, scanf, gets
Консольный ввод/выводSetConsoleModeioctl-
Консольный ввод/выводWriteConsolewriteputc, printf, puts
Управление каталогамиCreateDirectory mkdir*-Создание нового каталога
Управление каталогамиFindCloseclosedir* - Закрытие дескриптора поиска
Управление каталогами FindFirstFile opendir*, readdir*-Поиск первого файла, соответствующего шаблону
Управление каталогамиFindNextFile readdir* -Поиск следующих файлов, соответствующих шаблону
Управление каталогами GetCurrentDirectory getcwd* -
Управление каталогами GetFullPathName - -
Управление каталогами GetSystemDirectory Известные пути доступа -
Управление каталогами RemoveDirectory rmdir, unlink* remove
Управление каталогами SearchPath Используйте opendir, readdir -Поиск указанного файла по указанному пути
Управление каталогами SetCurrentDirectory chdir*, fchdir - Смена рабочего каталога
Обработка ошибок FormatMessage strerror perror
Обработка ошибок GetLastError errno errno Глобальная переменная
Обработка ошибок SetLastError errno errno Глобальная переменная
Блокирование файлов LockFile fcntl(cmd=F_GETLK,…) -
Блокирование файлов LockFileExfcntl(cmd=F_GETLK,…) -
Блокирование файловUnlockFilefcntl(cmd=F_GETLK,…) -
Блокирование файлов UnlockFileEx fcntl(cmd=F_GETLK,…) -
Файловая система CloseHandle (в данном случае закрытие дескриптора файла) close* fclose CloseHandle не ограничивается файлами
Файловая система CopyFile open; read; write; close fopen; fread; fwrite; fclose Дублирование файла
Файловая системаCreateFileopen*, creat*fopenОткрытие/ создание файла
Файловая системаDeleteFileunlink*removeУдаление файла
Файловая системаFlushFileBuffersfsynchfflushЗапись буферизованных данных в файл
Файловая системаGetFileAttributes stat*, fstat*, lstat -
Файловая система GetFileInformationByHandle stat*, fstat*, lstat - Заполнение структуры информацией о файле
Файловая система GetFileSize stat*, fstat*, lstat ftell, fseek Получение размера файла в байтах
Файловая система GetFileTime stat*, fstat*, lstat -
Файловая система GetFileType stat*, fstat*, lstat-Определение типа устройства или файла
Файловая система GetStdHandle Используйте файловые дескрипторы 0, 1 или 2 Используйте stdin, stdout, stderr
Файловая система GetTempFileNameИспользуйте библиотеку Сtmpnam Создание уникального имени файла
Файловая система GetTempFileName, CreateFile Используйте библиотеку С tmpfile Создание временного файла
Файловая система GetTempPath /temp path - Получение пути к каталогу для временных файлов
Файловая системаMoveFile, MoveFileExИспользуйте библиотеку СrenameПереименование файла или каталога
Файловая система CreateHardLink link, unlink* -Windows не поддерживает ссылки
Файловая система - symlink - Создание символической ссылки
Файловая система - readlink - Чтение имени в символической ссылке
Файловая система Отсутствует; ReadFile возвращает 0 байт Отсутствует; read возвращает 0 байт feof Количество оставшихся до конца файла байтов
Файловая система Отсутствует; используйте многократные вызовы ReadFile readv Отсутствует; используйте многократные вызовы freads Фрагментированное чтение
Файловая система Отсутствует; используйте многократные вызовы WriteFile writev Отсутствует; используйте многократные вызовы fwrites Запись со слиянием
Файловая система ReadFile read fread Чтение данных из файла
Файловая система SetEndOfFile chsize* -
Файловая система SetFileAttributes fcntl -
Файловая система SetFilePointer lseekfseek Установка указателя файла
Файловая система SetFilePointer (установка в 0) lseek(0) rewind
Файловая система SetFileTime utime* -
Файловая система SetStdHandle close, dup*, dup2* или fcntlfreopen dup2 или fcntl
Файловая система WriteFile write fwrite Запись данных в файл
Получение сведений о системеGetDiskFreeSpace - -
Получение сведений о системе GetSystemInfo getrusage-
Получение сведений о системеGetVersionuname-
Получение сведений о системе GetVolumeInformation - -
Получение сведений о системе GlobalMemoryStatus getrlimit -
Получение сведений о системе Ряд предопределенных констант sysconf, pathconf, fpathconf -
Дата и время GetSystemTime Используйте библиотеку С time, gmtime
Дата и время См. программу ls (Программа 3.2) Используйте библиотеку С asctime
Дата и времяCompareFileTimeИспользуйте библиотеку СdifftimeСравнение "календарных" значений даты и времени
Дата и времяFileTimeToLocalFileTime, FileTimeToSystemTimeИспользуйте библиотеку Сlocaltime
Дата и времяFileTimeToSystemTimeИспользуйте библиотеку Сgmtime
Дата и время GetLocalTimeИспользуйте библиотеку Сtime, localtime
Дата и времяСм. программу touch (программа 3.3)Используйте библиотеку Сstrftime
Дата и времяSetLocalTime - -
Дата и времяSetSystemTime--
Дата и времяВычитание значений отметок времениИспользуйте библиотеку Сdifftime
Дата и времяSystemTimeToFileTimeИспользуйте библиотеку Сmktime
Перейти на страницу:

Похожие книги

Programming with POSIX® Threads
Programming with POSIX® Threads

With this practical book, you will attain a solid understanding of threads and will discover how to put this powerful mode of programming to work in real-world applications. The primary advantage of threaded programming is that it enables your applications to accomplish more than one task at the same time by using the number-crunching power of multiprocessor parallelism and by automatically exploiting I/O concurrency in your code, even on a single processor machine. The result: applications that are faster, more responsive to users, and often easier to maintain. Threaded programming is particularly well suited to network programming where it helps alleviate the bottleneck of slow network I/O. This book offers an in-depth description of the IEEE operating system interface standard, POSIX (Portable Operating System Interface) threads, commonly called Pthreads. Written for experienced C programmers, but assuming no previous knowledge of threads, the book explains basic concepts such as asynchronous programming, the lifecycle of a thread, and synchronization. You then move to more advanced topics such as attributes objects, thread-specific data, and realtime scheduling. An entire chapter is devoted to "real code," with a look at barriers, read/write locks, the work queue manager, and how to utilize existing libraries. In addition, the book tackles one of the thorniest problems faced by thread programmers-debugging-with valuable suggestions on how to avoid code errors and performance problems from the outset. Numerous annotated examples are used to illustrate real-world concepts. A Pthreads mini-reference and a look at future standardization are also included.

David Butenhof

Программирование, программы, базы данных
C++: базовый курс
C++: базовый курс

В этой книге описаны все основные средства языка С++ - от элементарных понятий до супервозможностей. После рассмотрения основ программирования на C++ (переменных, операторов, инструкций управления, функций, классов и объектов) читатель освоит такие более сложные средства языка, как механизм обработки исключительных ситуаций (исключений), шаблоны, пространства имен, динамическая идентификация типов, стандартная библиотека шаблонов (STL), а также познакомится с расширенным набором ключевых слов, используемым в .NET-программировании. Автор справочника - общепризнанный авторитет в области программирования на языках C и C++, Java и C# - включил в текст своей книги и советы программистам, которые позволят повысить эффективность их работы. Книга рассчитана на широкий круг читателей, желающих изучить язык программирования С++.

Герберт Шилдт

Программирование, программы, базы данных