Windows System Programming Third Edition [Electronic resources]

Johnson M. Hart

نسخه متنی -صفحه : 291/ 251
نمايش فراداده

  • Chapters 2 and 3: File and Directory Management

    Subject

    Windows

    UNIX

    C Library

    Comments

    Console I/O

    AllocConsole

    terminal I/O

    N/A

    Console I/O

    FreeConsole

    terminal I/O

    N/A

    Console I/O

    ReadConsole

    read

    getc, scanf, gets

    Console I/O

    SetConsoleMode

    ioctl

    N/A

    Console I/O

    WriteConsole

    write

    putc, printf, puts

    Directory Mgt

    CreateDirectory

    mkdir*

    N/A

    Make a new directory

    Directory Mgt

    FindClose

    closedir*

    N/A

    Close a directory search handle

    Directory Mgt

    FindFirstFile

    opendir*, readdir*

    N/A

    Find first file matching a pattern

    Directory Mgt

    FindNextFile

    readdir*

    N/A

    Find subsequent files

    Directory Mgt

    GetCurrentDirectory

    getcwd*

    N/A

    Directory Mgt

    GetFullPathName

    N/A

    N/A

    Directory Mgt

    GetSystemDirectory

    Well-known pathnames

    N/A

    Directory Mgt

    RemoveDirectory

    rmdir, unlink*

    remove

    Directory Mgt

    SearchPath

    Use opendir, readdir

    N/A

    Search for a file on a specified path

    Directory Mgt

    SetCurrentDirectory

    chdir*, fchdir

    N/A

    Change the working directory

    Error Handling

    FormatMessage

    strerror

    perror

    Error Handling

    GetLastError

    errno

    errno

    Global variable

    Error Handling

    SetLastError

    errno

    errno

    Global variable

    File Locking

    LockFile

    fcntl (cmd=F_GETLK, ..)

    N/A

    File Locking

    LockFileEx

    fcntl (cmd=F_GETLK, ..)

    N/A

    File Locking

    UnlockFile

    fcntl (cmd=F_GETLK, ..)

    N/A

    File Locking

    UnlockFileEx

    fcntl (cmd=F_GETLK, ..)

    N/A

    File System

    CloseHandle (file handle)

    close*

    fclose

    CloseHandle is not limited to files

    File System

    CopyFile

    open; read; write; close

    fopen; fread; fwrite; fclose

    Duplicate a file

    File System

    CreateFile

    open*, creat*

    fopen

    Open/create a file

    File System

    DeleteFile

    unlink*

    remove

    Delete a file

    File System

    FlushFileBuffers

    fsynch

    fflush

    Write file buffers

    File System

    GetFileAttributes

    stat*, fstat*, lstat

    N/A

    File System

    GetFileInformationByHandle

    stat*, fstat*, lstat

    N/A

    Fill structure with file info

    File System

    GetFileSize

    stat*, fstat*, lstat

    ftell, fseek

    Get length of file in bytes

    File System

    GetFileTime

    stat*, fstat*, lstat

    N/A

    File System

    GetFileType

    stat*, fstat*, lstat

    N/A

    Check for character stream device or file

    File System

    GetStdHandle

    Use file desc 0, 1, or 2

    Use stdin, stdout, stderr

    File System

    GetTempFileName

    Use C library

    tmpnam

    Create a unique file name

    File System

    GetTempFileName, CreateFile

    Use C library

    tmpfile

    Create a temporary file

    File System

    GetTempPath

    /temp path

    N/A

    Directory for temp files

    File System

    MoveFile, MoveFileEx

    Use C library

    rename

    Rename a file or directory

    File System

    CreateHardLink

    link, unlink*

    N/A

    Windows does not support links

    File System

    N/A

    symlink

    N/A

    Create a symbolic link

    File System

    N/A

    readlink

    N/A

    Read name in a symbolic link

    File System

    N/A, ReadFile returns 0 bytes

    N/A, read returns 0 bytes

    feof

    Rest for end of file

    File System

    N/A, use multiple ReadFiles

    readv

    N/A, use multiple freads

    Scatter read

    File System

    N/A, use multiple WriteFiles

    writev

    N/A, use multiple fwrites

    Gather write

    File System

    ReadFile

    read

    fread

    Read data from a file

    File System

    SetEndOfFile

    chsize*

    N/A

    File System

    SetFileAttributes

    fcntl

    N/A

    File System

    SetFilePointer

    lseek

    fseek

    Set file pointer

    FileSystem

    SetFilePointer (to 0)

    lseek (0)

    rewind

    File System

    SetFileTime

    utime*

    N/A

    File System

    SetStdHandle

    close, dup*, dup2*, or fcntl

    freopen

    dup2 or fcntl

    File System

    WriteFile

    write

    fwrite

    Write data to a file

    System Info

    GetdiskFreeSpace

    N/A

    N/A

    System Info

    GetSystemInfo

    getrusage

    N/A

    System Info

    GetVersion

    uname

    N/A

    System Info

    GetVolumeInformation

    N/A

    N/A

    System Info

    GlobalMemoryStatus

    getrlimit

    N/A

    System Info

    Various defined constants

    sysconf, pathconf, fpathconf

    N/A

    Time

    GetSystemTime

    Use C library

    time, gmtime

    Time

    See ls program, Program 3-2

    Use C library

    asctime

    Time

    CompareFileTime

    Use C library

    difftime

    Compare "calendar" times

    Time

    FileTimeToLocalFileTime, FileTimeToSystemTime

    Use C library

    localtime

    Time

    FileTimeToSystemTime

    Use C library

    gmtime

    Time

    GetLocalTime

    Use C library

    time, localtime

    Time

    See touch program, Program 3-3

    Use C library

    strftime

    Time

    SetLocalTime

    N/A

    N/A

    Time

    SetSystemTime

    N/A

    N/A

    Time

    Subtract file times

    Use C library

    difftime

    Time

    SystemTimeToFileTime

    Use C library

    mktime