青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-250  評(píng)論-20  文章-55  trackbacks-0

CreateFile

The CreateFile function creates or opens the following objects and returns a handle that can be used to access
the object:
 files
 pipes
 mailslots
 communications resources
 disk devices(Windows NT only)
 consoles
 directories(open only)

CreateFile 函數(shù)創(chuàng)建或打開下列對(duì)象,并返回一個(gè)可以用來訪問這些對(duì)象的句柄。
 
文件
 pipes
 
郵槽
 
通信資源
 
磁盤驅(qū)動(dòng)器(僅適用于 windowsNT
 
控制臺(tái)
 
文件夾(僅用于打開)

HANDLE CreateFile(
 LPCTSTR lpFileName,    //
指向文件名的指針
 DWORD dwDesiredAccess,    //
訪問模式(寫 / 讀)
 DWORD dwShareMode,    //
共享模式
 LPSECURITY_ATTRIBUTES lpSecurityAttributes, //
指向安全屬性的指針
 DWORD dwCreationDisposition,   //
如何創(chuàng)建
 DWORD dwFlagsAndAttributes,   //
文件屬性
 HANDLE hTemplateFile    //
用于復(fù)制文件句柄
);

Parametes
參數(shù)列表

參數(shù)

類型及說明

lpFileName

String ,要打開的文件的名字

dwDesiredAccess

Long ,如果為 GENERIC_READ 表示允許對(duì)設(shè)備進(jìn)行讀訪問;如果為 GENERIC_WRITE 表示允許對(duì)設(shè)備進(jìn)行寫訪問(可組合使用);如果為零,表示只允許獲取與一個(gè)設(shè)備有關(guān)的信息

dwShareMode

Long ,零表示不共享; FILE_SHARE_READ / FILE_SHARE_WRITE 表示允許對(duì)文件進(jìn)行共享訪問

lpSecurityAttributes

SECURITY_ATTRIBUTES ,指向一個(gè) SECURITY_ATTRIBUTES 結(jié)構(gòu)的指針,定義了文件的安全特性(如果操作系統(tǒng)支持的話)

dwCreationDisposition

Long ,下述常數(shù)之一:

CREATE_NEW

創(chuàng)建文件;如文件存在則會(huì)出錯(cuò)

CREATE_ALWAYS

創(chuàng)建文件,會(huì)改寫前一個(gè)文件

OPEN_EXISTING

文件必須已經(jīng)存在。由設(shè)備提出要求

OPEN_ALWAYS

如文件不存在則創(chuàng)建它

TRUNCATE_EXISTING

講現(xiàn)有文件縮短為零長度

dwFlagsAndAttributes

Long ,一個(gè)或多個(gè)下述常數(shù)

FILE_ATTRIBUTE_ARCHIVE

標(biāo)記歸檔屬性

FILE_ATTRIBUTE_COMPRESSED

將文件標(biāo)記為已壓縮,或者標(biāo)記為文件在目錄中的默認(rèn)壓縮方式

FILE_ATTRIBUTE_NORMAL

默認(rèn)屬性

FILE_ATTRIBUTE_HIDDEN

隱藏文件或目錄

FILE_ATTRIBUTE_READONLY

文件為只讀

FILE_ATTRIBUTE_SYSTEM

文件為系統(tǒng)文件

FILE_FLAG_WRITE_THROUGH

操作系統(tǒng)不得推遲對(duì)文件的寫操作

FILE_FLAG_OVERLAPPED

允許對(duì)文件進(jìn)行重疊操作

FILE_FLAG_NO_BUFFERING

禁止對(duì)文件進(jìn)行緩沖處理。文件只能寫入磁盤卷的扇區(qū)塊

FILE_FLAG_RANDOM_ACCESS

針對(duì)隨機(jī)訪問對(duì)文件緩沖進(jìn)行優(yōu)化

FILE_FLAG_SEQUENTIAL_SCAN

針對(duì)連續(xù)訪問對(duì)文件緩沖進(jìn)行優(yōu)化

FILE_FLAG_DELETE_ON_CLOSE

關(guān)閉了上一次打開的句柄后,將文件刪除。特別適合臨時(shí)文件

也可在 Windows NT 下組合使用下述常數(shù)標(biāo)記:

SECURITY_ANONYMOUS SECURITY_IDENTIFICATION SECURITY_IMPERSONATION SECURITY_DELEGATION SECURITY_CONTEXT_TRACKING SECURITY_EFFECTIVE_ONLY

hTemplateFile

Long ,如果不為零,則指定一個(gè)文件句柄。新文件將從這個(gè)文件中復(fù)制擴(kuò)展屬性

返回值

如執(zhí)行成功,則返回文件句柄。 INVALID_HANDLE_VALUE 表示出錯(cuò),會(huì)設(shè)置 GetLastError 。即使函數(shù)成功,但若文件存在,且指定了 CREATE_ALWAYS OPEN_ALWAYS GetLastError 也會(huì)設(shè)為 ERROR_ALREADY_EXISTS

lpFileName
 Pointer to a null-terminated string that specifies the name of the object(file, pipe, mailslot,
 communications resource, disk device, console, or directory) to create or open.
 
指向一個(gè)空結(jié)尾字符串。該參數(shù)指定了用于創(chuàng)建或打開句柄的對(duì)象。

 if *lpFileName is a path, there is a default string size limit of MAX_PATH characters, This limit is
 related to how the CreateFile function parses paths.
 
如果 lpFileName 的對(duì)象是一個(gè)路徑,則有一個(gè)最大字符數(shù)的限制。不能超過常量 (MAX_PATH). 這個(gè)限制指示了
 CreateFile
函數(shù)如何解析路徑 .

dwDesiredAccess
 Specifies the type of access to the object. An application can obtain read access, write access,
 read-write access, or device query access, This parameter can be any combination of the following
 values
 
指定對(duì)象的訪問方式 , 程序可以獲得讀訪問權(quán) , 寫訪問權(quán) , 讀寫訪問權(quán)或者是詢問設(shè)備 ("device query") 訪問權(quán) .
 
這個(gè)參數(shù)可以是下列值的任意組合
 
 Value(
)  Meaning( 含義 )
 0   Specifies device query access to the object. An application can query device
    attributes without accessing the device.
    
指定詢問訪問權(quán) . 程序可以在不直接訪問設(shè)備的情況下查詢設(shè)備的屬性 .

 GENERIC_READ  Specifies read access to the object, Data can be read from the file and the
    file pointer can be moved. Combine with GENERIC_WRITE for read-write access.
    
指定讀訪問權(quán) . 可以從文件中讀取數(shù)據(jù) , 并且移動(dòng)文件指針 . 可以和 GENERIC_WRITE 組合
    
成為 " 讀寫訪問權(quán) ".

 GENERIC_WRITE  specifies write access to the object. Data can be written to the file and the
    file pointer can be moved. Combine with GENERIC_READ fro read-write access
    
指定寫訪問權(quán) . 可以從文件中寫入數(shù)據(jù) , 并且移動(dòng)文件指針 . 可以和 GENERIC_READ 組合
    
成為 " 讀寫訪問權(quán) ".

dwShareMode
 Set of bit flags that specifies how the object can be shared, If dwShareMode is 0, the object cannot
 be shared. Subsequent open operations on the object will fail, until the handle is closed.
 
設(shè)置位標(biāo)志指明對(duì)象如休共享 . 如果參數(shù)是 0, 對(duì)象不能夠共享 . 后續(xù)的打開對(duì)象的操作將會(huì)失敗 , 直到該對(duì)象的句
 
柄關(guān)閉 .

 To share the object, use a combination of one or more of the following values:
 
使用一個(gè)或多個(gè)下列值的組合來共享一個(gè)對(duì)象 .
 Value(
)  Meaning( 含義 )
 FILE_SHARE_DELETE WindowsNT: Subsequent open operations on the object will succeed only if
    delete access is requested.
    WINDOWS NT:
后續(xù)的僅僅請求刪除訪問權(quán)的打開操作將會(huì)成功 .

 FILE_SHARE_READ  Subsequent open operations on the object will successd only if read access
    is requested.
    
后續(xù)的僅僅請求讀訪問權(quán)的打開操作將會(huì)成功 .

 FILE_SHARE_WRITE Subsequent open operations on the object will succeed only if write access
    is requested.
    
后續(xù)的僅僅請求寫訪問權(quán)的打開操作將會(huì)成功 .

lpSecurityAttributes
 pointer to a SECURITY_ATTRIBUTES structure that determines whether the returned handle can be
 inherited by child processes, if lpSecurityAttributes is NULL, the handle cannot be inherited.
 
指向一個(gè) SECURITY_ATTRIBUTES 結(jié)構(gòu)的指針用于確定如何在子進(jìn)程中繼承這個(gè)句柄 . 如果這個(gè)參數(shù)是 NULL,
 
則該句柄不可繼承 .

dwCreationDisposition
 Specifies which action to take on files that exist, and which action to take when files do not exist.
 For more information about this parameter, see the remarks section. This parameter must be one of the
 following values
 
指定當(dāng)文件存在或者不存在時(shí)如何動(dòng)作。關(guān)于這個(gè)參數(shù)更多的信息,參考批注部分。這個(gè)參數(shù)必須是一個(gè)或多個(gè)
 
下列值。

 VALUE( )  Neaning( 含義 )
 CREATE_NEW  Creates a new file. The function fails if the specified file already exists
    
創(chuàng)建一個(gè)新文件 . 如果該文件已經(jīng)存在函數(shù)則會(huì)失敗 .
 
 CREATE_ALWAYS  Creates a new file. If the file exsts, the function overwrites the file and
    clears the existing attributes.
    
創(chuàng)建一個(gè)新文件 . 如果該文件已經(jīng)存在 , 函數(shù)將覆蓋已存在的文件并清除已存在的文件屬性

 OPEN_EXISTING  Opens the file. The function fails if the file does not exist.
    See the Remarks section for a discussion of why you should use the
    OPEN_EXISTING flag if you are using the CreateFile function for devices,
    including the console.
    
打開一個(gè)文件 , 如果文件不存在函數(shù)將會(huì)失敗 .
    
如查你使用 CreateFile 函數(shù)為設(shè)備裝載控制臺(tái) . 請查看批注中的 " 為什么使用
    OPEN_EXISTING
標(biāo)志 " 的部分 .
    
 OPEN_ALWAYS  Opens the file, if it exsts. If the file does not exist, the function creates
    the file as if dwCreationDisposition were CREATE_NEW.
    
如果文件存在 , 打開文件 . 如果文件不存在 , 并且參數(shù)中有 CREATE_NEW 標(biāo)志 , 則創(chuàng)建文件 .

 TRUNCATE_EXISTING Opens the file. Once opened, the file is truncated so that its size is zero
    bytes The calling process must open the file with at least GENERIC_WRITE access.
    The function fails if the file does not exist.
    
打開一個(gè)文件 , 每次打開 , 文件將被截至 0 字節(jié) . 調(diào)用進(jìn)程必須用 GENERIC_WRITE 訪問模式打
    
開文件 . 如果文件不存在則函數(shù)就會(huì)失敗 .

dwFlagsAndatributes
 Specifies the file attributes and flags for the file.
 
為文件指定屬性和標(biāo)志位

 Any combination of the following attributes is acceptable for the dwFlagsAndAttributes parameter,
 except all other file attributes override FILE_ATTRIBUTE_NORMAL.
 
該參數(shù)可以接收下列屬性的任意組合 . 除非其它所有的文件屬性忽略 FILE_ATTRIBUTE_NORMAL.
 Attribute(
屬性 )   Meaning( 標(biāo)志 )
 FILE_ATTRIBUTE_ARCHIVE  The ifle should be archived. Application use this attribute to mark
     files for backup or removal.
     
文件將被存檔 , 程序使用此屬性來標(biāo)志文件去備份或移除

 FILE_ATTRIBUTE_HIDDEN  The file is hidden. It is not to be included in an ordinary directory
     listing.
     
文件被隱藏 , 它不會(huì)在一般文件夾列表中被裝載 .

 FILE_ATTRIBUTE_NORMAL  The file has no other attributes set. This attribute is valid only if
     used alone
     
文件沒有被設(shè)置任何屬性 .


 FILE_ATTRIBUTE_OFFLINE  The data of the file is not immediately available. Indicates that the
     file data has been physically moved to offline storage.
     
文件的數(shù)據(jù)沒有被立即用到。指出正在脫機(jī)使用該文件。

 FILE_ATTRIBUTE_READONLY  The file is read only.Applications can read the file but cannot write
     to it or delete it
     
這個(gè)文件只可讀取 . 程序可以讀文件 , 但不可以在上面寫入內(nèi)容 , 也不可刪除 .

 FILE_ATTRIBUTE_SYSTEM  The file is part of or is used exclusively by the operation system.
     
文件是系統(tǒng)的一部分 , 或是系統(tǒng)專用的 .

 FILE_ATTRIBUTE_TEMPORARY The file is being used for temporary storage. File systems attempt
     to keep all of the data in memory for quicker access rather than
     flushing the data back to mass storage. A temporary file should be
     deleted by the application as soon as it is no longer needed.
     
文件被使用后,文件系統(tǒng)將努力為(文件的)所有數(shù)據(jù)的迅迅訪問保持一塊
     
內(nèi)存。臨時(shí)文件應(yīng)當(dāng)在程序不用時(shí)及時(shí)刪除。

 Any combination of the following flags is acceptable for the dwFlagsAndAttributes parameter.
 dwFlagAndAttributes
可以接受下列標(biāo)志的任意組合。

 FLAG (標(biāo)志)    Meaning( 含義 )
 FILE_FLAG_WRITE_THROUGH  Instructs the system to write through any intermediate cache and go
     directly to disk. The system can still cache write operations, but
     cannot lazily flush them.
     
指示系統(tǒng)通過快速緩存直接寫入磁盤,

 FILE_FLAG_OVERLAPPED  Instructs the system to initialize the object, so that operations that
     take a significant amount of time to process return ERROR_IO_PENDING.
     When the operation is finished, the specified event is set to the
     signaled state.
     
指示系統(tǒng)初始化對(duì)象 , 此操作將對(duì)進(jìn)程設(shè)置一個(gè)引用計(jì)數(shù)并返回 ERROR_IO_PENDING.
     
處理完成后 , 指定對(duì)象將被設(shè)置為信號(hào)狀態(tài) .

     When you specify FILE_FLAG_OVERLAPPED, the file read and write functions
     must specify an OVERLAPPED structure. That is, when FILE_FLAG_OVERLAPPED
     is specified, an application must perform overlapped parameter(pointing
     to an OVERLAPPED structure)to the file read and write functions.
     This flag also enables more than one operation to be performed
     simultaneously with the handle(a simultaneous read and write operation,
     for example).
     
當(dāng)你指定 FILE_FLAG_OVERLAPPED 時(shí) , 讀寫文件的函數(shù)必須指定一個(gè) OVERLAPPED 結(jié)構(gòu) .
     
并且 . 當(dāng) FILE_FLAG_OVERLAPPED 被指定 , 程序必須執(zhí)行重疊參數(shù) ( 指向 OVERLAPPED
     
結(jié)構(gòu) ) 去進(jìn)行文件的讀寫 .
     
這個(gè)標(biāo)志也可以有超過一個(gè)操作去執(zhí)行 .

 FILE_FLAG_NO_BUFFERING  Instructs the system to open the file with no intermediate buffering or
     caching.When combined with FILE_FLAG_OVERLAPPED, the flag gives maximum
     asynchronous performance, because the I/O does not rely on the synchronous
     operations of the memory manager. However, some I/O operations will take
     longer, because data is not being held in the cache.
     
指示系統(tǒng)不使用快速緩沖區(qū)或緩存,當(dāng)和 FILE_FLAG_OVERLAPPED 組合 , 該標(biāo)志給出最
     
大的異步操作量 , 因?yàn)?/span> I/O 不依賴內(nèi)存管理器的異步操作 . 然而 , 一些 I/O 操作將會(huì)運(yùn)行
     
得長一些 , 因?yàn)閿?shù)據(jù)沒有控制在緩存中 .

     An application must meet certain requirements when working with files
     opened with FILE_FLAG_NO_BUFFERING:
     
當(dāng)使用 FILE_FLAG_NO_BUFFERING 打開文件進(jìn)行工作時(shí) , 程序必須達(dá)到下列要求 :
     
      File access must begin at byte offsets within the file that are
      integer multiples of the volume's sector size.
      
文件的存取開頭的字節(jié)偏移量必須是扇區(qū)尺寸的整倍數(shù) .
      
      File access must be for numbers of bytes that are integer
      multiples of the volume's sector size. For example, if the sector
      size is 512 bytes, an application can request reads and writes of
      512, 1024, or 2048 bytes, but not of 335, 981, or 7171bytes.
      
文件存取的字節(jié)數(shù)必須是扇區(qū)尺寸的整倍數(shù) . 例如 , 如果扇區(qū)尺寸是 512 字節(jié)
      
程序就可以讀或者寫 512,1024 或者 2048 字節(jié) , 但不能夠是 335,981 或者 7171
      
字節(jié) .

      buffer addresses for read and write operations must be sector
      aligned(aligned on addresses in memory that are integer multiples
      of the volume's sector size).
      
進(jìn)行讀和寫操作的地址必須在扇區(qū)的對(duì)齊位置 , 在內(nèi)存中對(duì)齊的地址是扇區(qū)
      
尺寸的整倍數(shù) .

     One way to align buffers on integer multiples of the volume sector size is
     to use VirtualAlloc to allocate the buffers, It allocates memory that is
     aligned on addresses that are integer multiples of the operating system's
     memory page size. Because both memory page and volume sector sizes are
     powers of 2, this memory is also aligned on addresses that are integer
     multiples of a volume's sector size.
     
一個(gè)將緩沖區(qū)與扇區(qū)尺寸對(duì)齊的途徑是使用 VirtualAlloc 函數(shù) . 它分配與操作系統(tǒng)
     
內(nèi)存頁大小的整倍數(shù)對(duì)齊的內(nèi)存地址 . 因?yàn)閮?nèi)存頁尺寸和扇區(qū)尺寸 --2 都是它們的冪 .
     
這塊內(nèi)存在地址中同樣與扇區(qū)尺寸大小的整倍數(shù)對(duì)齊 .

     An application can determine a volume's sector size by calling the
     GetDiskFreeSpace function
     
程序可以通過調(diào)用 GetDiskFreeSpace 來確定扇區(qū)的尺寸 .

 FILE_FLAG_RANDOM_ACCESS
     Indicates that the file is accessed randomly. The system can use this as
     a hint to optimize file caching.
     
指定文件是隨機(jī)訪問 , 這個(gè)標(biāo)志可以使系統(tǒng)優(yōu)化文件的緩沖 .


 FILE_FLAG_SEQUENTIAL_SCAN 
     Indicates that the file is to be accessed sequentially from beginning to
     end. The system can use this as a hint to optimize file caching. If an
     application moves the file pointer for random access, optimum caching may
     not occur; however, correct operation is still guaranteed.
     
指定文件將從頭到尾連續(xù)地訪問 . 這個(gè)標(biāo)志可以提示系統(tǒng)優(yōu)化文件緩沖 . 如果程序在
     
隨機(jī)訪問文件中移動(dòng)文件指針 , 優(yōu)化可能不會(huì)發(fā)生 ; 然而 , 正確的操作仍然可以得到保
     

     
     Specifying this flag can increase performance for applications that read
     large files using sequential access, performance gains can be even more
     noticeable for applications that read large files mostly sequentially,
     but occasionally skip over small ranges of bytes.
     
指定這個(gè)標(biāo)志可以提高程序以順序訪問模式讀取大文件的性能 , 性能的提高在許多
     
程序讀取一些大的順序文件時(shí)是異常明顯的 . 但是可能會(huì)有小范圍的字節(jié)遺漏 .


 FILE_FLAG_DELETE_ON_CLOSE Indicates that the operating system is to delete the file immediately
     after all of its handles have been closed, not just the handle for which
     you specified FILE_FLAG_DELETE_ON_CLOSE.
     
指示系統(tǒng)在文件所有打開的句柄關(guān)閉后立即刪除文件 . 不只有你可以指定 FILE_FLAG_DELETE_ON_CLOSE
     
     Subsequent open requests for the file will fail, unless FILE_SHARE_DELETE
     is used.
     
如果沒有使用 FILE_SHARE_DELETE, 后續(xù)的打開文件的請求將會(huì)失敗 .

 FILE_FLAG_BACKUP_SEMANTICS  WINDOWS NT:Indicates that the file is being opened or created for a backup
     or restore operation.The system ensures that the calling process overrides
     file security checks, provided it has the necessary privileges. The
     relevant privileges are SE_BACKUP_NAME and SE_RESTORE_NAME.
     WINDOWS NT:
指示系統(tǒng)為文件的打開或創(chuàng)建執(zhí)行一個(gè)備份或恢復(fù)操作 . 系統(tǒng)保證調(diào)
     
用進(jìn)程忽略文件的安全選項(xiàng) , 倘若它必須有一個(gè)特權(quán) . 則相關(guān)的特權(quán)則是 SE_BACKUP_NAME
     
SE_RESTORE_NAME.

     You can also set this flag to obtain a handle to a directory. A directory
     handle can be passed to some Win32 functions in place of a file handle.
     
你也可以使用這個(gè)標(biāo)志獲得一個(gè)文件夾的句柄,一個(gè)文件夾句柄能夠象一個(gè)文件句柄
     
一樣傳給某些 Win32 函數(shù)。

 FILE_FLAG_POSIX_SEMANTICS Indicates that the file is to be accessed according to POSIX rules. This
     includes allowing multiple files with names, differing only in case, for file
     systems that support such naming. Use care when using this option because
     files created with this flag may not be accessible by applications written
     for MS-DOS or 16-bit Windows.
     
指明文件符合 POSIX 標(biāo)準(zhǔn) . 這是在 MS-DOS 16 Windows 下的標(biāo)準(zhǔn) .

 FILE_FLAG_OPEN_REPARSE_POINT Specifying this flag inhibits the reparse behavior of NTFS reparse points.
     When the file is opened, a file handle is returned, whether the filter that
     controls the reparse point is operational or not. This flag cannot be used
     with the CREATE_ALWAYS flag.
     
指定這個(gè)標(biāo)志制約 NTFS 分區(qū)指針 . 該標(biāo)志不能夠和 CREAT_ALWAYS 一起使用 .

 FILE_FLAG_OPEN_NO_RECALL Indicates that the file data is requested,but it should continue to reside in
     remote storage. It should not be transported back to local storage. This flag
     is intended for use by remote storage systems or the Hierarchical Storage
     Management system.
     
指明需要文件數(shù)據(jù) , 但是將繼續(xù)從遠(yuǎn)程存儲(chǔ)器中接收 . 它不會(huì)將數(shù)據(jù)存放在本地存儲(chǔ)器中 .
     
這個(gè)標(biāo)志由遠(yuǎn)程存儲(chǔ)系統(tǒng)或等級(jí)存儲(chǔ)管理器系統(tǒng)使用 .

hTemplateFile
 Specifies a handle with GENERIC_READ access to a template file. The template file supplies file attributes and
 extended attributes for the file being created.
 
GENERIC_READ 訪問的模式指定一個(gè)句柄到模板文件 . 模板文件在文件開始創(chuàng)建后提供文件屬性和擴(kuò)展屬性 .

Return Values
返回值

If the function succeeds, the return value is an open handle to the specified file. If the specified file exists before
the function call and dwCreation is CREATE_ALWAYS or OPEN_ALWAYS, a call to GetLastError returns ERROR_ALREADY_EXISTS
(even though the function has succeeded). If the file does not exist before the call, GetLastError returns zero.
如果函數(shù)成功 , 返回一個(gè)打開的指定文件的句柄 . 如果指定文件在函數(shù)調(diào)用前已經(jīng)存在并且 dwCreation 參數(shù)是 CREATE_ALWAYS 或者
OPEN_ALWAYS,
調(diào)用 GetLastError 就會(huì)返回 ERROR_ALREADY_EXISTS( 表示函數(shù)成功 ). 如果函數(shù)文件在調(diào)用前不存在則會(huì)返回 0.

If the function fails, the return value is INVALID_HANDLE_VALUE.To get extended error information, call GetLastError.
如果函數(shù)失敗 , 返會(huì)值會(huì)是 INVALID_HANDLE_VALUE. 更多的錯(cuò)誤信息可以調(diào)用 GetLastError 來獲得 .

posted on 2007-03-10 17:54 jay 閱讀(123602) 評(píng)論(12)  編輯 收藏 引用 所屬分類: 多線程

評(píng)論:
# re: CreateFile函數(shù)詳解 2008-04-08 11:38 | bay
Thanks a lot!  回復(fù)  更多評(píng)論
  
# re: CreateFile函數(shù)詳解 2008-10-19 16:17 | 好色仙人
感謝摟主 !!  回復(fù)  更多評(píng)論
  
# re: CreateFile函數(shù)詳解 2008-11-09 22:42 | qm
感謝^_~  回復(fù)  更多評(píng)論
  
# re: CreateFile函數(shù)詳解 2009-01-09 17:16 | 魏華
找到這么好的文章不容易,謝謝樓主
還有一事不明,想請教
我在createfile創(chuàng)建文件后用writefile向文件中寫入東東時(shí),
這次的寫入將會(huì)覆蓋上次的東西
不向用fopen,,fread,fwrite好使,想在文件末尾追加寫入的話,是不是在createfile時(shí)就得設(shè)置這個(gè)屬性啊,
還是在writefile之前單獨(dú)設(shè)置哪?
指教  回復(fù)  更多評(píng)論
  
# re: CreateFile函數(shù)詳解[未登錄] 2009-02-24 15:40 | heidaizx
佩服博主的耐心  回復(fù)  更多評(píng)論
  
# re: CreateFile函數(shù)詳解 2009-03-28 00:43 | dospeng
萬分感謝博主,有些不明白為什么windows里面這么多的io函數(shù),fopen open createfile。  回復(fù)  更多評(píng)論
  
# re: CreateFile函數(shù)詳解[未登錄] 2009-03-28 06:07 | snow
請問,在C語言中用CreateFile函數(shù)時(shí),是不是要加預(yù)處理文件之類的?比如#include<....... .h>。
如果不需要加預(yù)處理文件,那怎樣能使編譯通過?(錯(cuò)誤只出現(xiàn)在CreateFile及其周圍)  回復(fù)  更多評(píng)論
  
# re: CreateFile函數(shù)詳解 2009-06-22 16:58 | cxb
好人啦!  回復(fù)  更多評(píng)論
  
# re: CreateFile函數(shù)詳解 2011-03-05 15:09 | MOMO
@snow
只要包含windows.h,因?yàn)檫@個(gè)是windows函數(shù)  回復(fù)  更多評(píng)論
  
# re: CreateFile函數(shù)詳解[未登錄] 2011-10-01 19:47 | xxx
在writefile之前用setfilepointer將文件中的指針指向文件末尾。  回復(fù)  更多評(píng)論
  
# re: CreateFile函數(shù)詳解[未登錄] 2012-05-22 09:22 | ming
@dospeng
createfile 不禁禁是對(duì)文件的操作 還有對(duì)系統(tǒng)設(shè)備的IO的操作!  回復(fù)  更多評(píng)論
  
# re: CreateFile函數(shù)詳解 2013-07-28 08:55 | chamgin
好文章力頂啊  回復(fù)  更多評(píng)論
  

只有注冊用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            日韩西西人体444www| 欧美1区免费| 欧美成人精精品一区二区频| 久久精品夜色噜噜亚洲aⅴ| 欧美一区二区三区免费大片| 午夜精品一区二区三区在线视| 亚洲欧美国产制服动漫| 欧美中文字幕精品| 欧美激情精品久久久久久变态| 91久久中文字幕| 亚洲免费观看在线视频| 亚洲永久免费| 久久一二三国产| 欧美日韩国产123| 国产日韩精品一区| 亚洲人成77777在线观看网| 亚洲一区二区在线| 老司机午夜精品视频| 亚洲激情在线| 欧美一区二区三区在| 欧美人与禽猛交乱配视频| 国产亚洲视频在线观看| 亚洲另类一区二区| 久久精品一区蜜桃臀影院| 亚洲精品1234| 久久riav二区三区| 欧美日韩免费在线观看| 在线播放豆国产99亚洲| 欧美亚洲一区| 99精品视频免费全部在线| 久久精品国产一区二区电影| 欧美日韩的一区二区| 在线观看三级视频欧美| 性欧美1819sex性高清| 欧美国产日韩精品| 亚洲欧美一区二区在线观看| 欧美福利一区二区| 伊人成人网在线看| 欧美一区二区三区男人的天堂| 亚洲国产欧美一区二区三区同亚洲 | 国产一区二区三区在线观看精品| 亚洲国产福利在线| 久久精品国产亚洲精品| 在线视频欧美日韩精品| 欧美激情一区二区久久久| 亚洲国产成人91精品| 久久精品视频播放| 午夜激情久久久| 国产精品中文字幕在线观看| 亚洲午夜精品一区二区| 亚洲老板91色精品久久| 欧美精品三级日韩久久| 亚洲精品在线电影| 91久久精品美女高潮| 欧美激情2020午夜免费观看| 亚洲欧洲免费视频| 欧美激情一区二区三区蜜桃视频 | 99精品国产福利在线观看免费| 麻豆精品一区二区综合av| 久久精品成人一区二区三区| 国产午夜久久久久| 久久精精品视频| 欧美伊人精品成人久久综合97| 国产麻豆精品久久一二三| 欧美专区在线播放| 久久精品人人做人人爽电影蜜月| 国产手机视频一区二区| 久久久美女艺术照精彩视频福利播放| 亚洲欧美日韩在线观看a三区| 国产精品外国| 久久精品国亚洲| 久久伊人亚洲| 亚洲精品在线一区二区| 99在线精品视频在线观看| 国产精品视频第一区| 久久久久久久久伊人| 久久偷看各类wc女厕嘘嘘偷窃| 最新日韩精品| 在线综合亚洲| 激情综合五月天| 亚洲片在线观看| 国产伦精品一区二区三区高清版| 久久精品国产清高在天天线| 久久在线视频| 亚洲视频中文字幕| 午夜精品网站| 亚洲狼人综合| 欧美在线精品一区| 9l视频自拍蝌蚪9l视频成人| 午夜激情亚洲| 一区二区高清视频在线观看| 午夜精品久久久久久久久久久 | 欧美在线视频免费| 麻豆久久婷婷| 午夜在线一区二区| 国产亚洲精品久久久| 亚洲专区免费| 曰韩精品一区二区| 亚洲美女在线国产| 国内久久婷婷综合| 日韩亚洲成人av在线| 韩国av一区二区三区| 99国产精品国产精品久久 | 国产酒店精品激情| 亚洲国产精品电影在线观看| 国产精品美腿一区在线看| 欧美福利视频在线| 国产婷婷色一区二区三区在线| 亚洲第一天堂av| 国产日韩欧美三区| 一本色道久久88综合亚洲精品ⅰ| 伊人精品视频| 午夜精品福利一区二区三区av| 日韩午夜精品视频| 久久综合亚洲社区| 久久久www免费人成黑人精品 | 亚洲精品1区| 久久久精品tv| 欧美专区日韩专区| 国产精品久久久对白| 亚洲精品裸体| 亚洲欧洲三级| 可以免费看不卡的av网站| 久久精品人人做人人爽电影蜜月 | 国产伦精品免费视频| 亚洲午夜视频在线观看| 一区二区三区久久| 欧美精品少妇一区二区三区| 欧美成人免费大片| 亚洲黄页视频免费观看| 久久久免费精品| 久久天堂国产精品| 伊大人香蕉综合8在线视| 欧美有码在线视频| 久久久五月婷婷| 韩国美女久久| 久久亚洲精品一区二区| 欧美福利视频一区| 99在线精品视频在线观看| 欧美日韩视频| 亚洲伊人一本大道中文字幕| 欧美一区二区三区视频| 国内精品久久久久久久影视麻豆 | 亚洲电影第三页| 亚洲日本成人在线观看| 免费在线看成人av| 亚洲精品欧美| 日韩一级精品视频在线观看| 欧美日韩精品二区| 亚洲在线一区二区| 久久乐国产精品| 亚洲高清一区二| 日韩视频精品在线| 一区二区三区毛片| 国产精品综合| 久久免费视频在线| 亚洲精品你懂的| 亚洲一区二区三区久久| 国产农村妇女毛片精品久久莱园子| 欧美尤物巨大精品爽| 欧美激情视频在线播放| 亚洲免费影院| 在线观看欧美一区| 欧美色图首页| 久久婷婷激情| 在线综合亚洲| 欧美国产免费| 欧美亚洲视频一区二区| 亚洲国产精品一区在线观看不卡 | 国产精品乱码人人做人人爱| 久久www成人_看片免费不卡| 亚洲承认在线| 欧美一区二区三区视频| 亚洲人久久久| 国产视频在线观看一区二区| 欧美激情成人在线| 欧美在线一区二区| 99国产一区| 欧美国产成人精品| 久久成人人人人精品欧| 亚洲国产视频一区| 国产精品私人影院| 欧美日韩国产色视频| 久久九九精品| 亚洲永久免费视频| 日韩午夜黄色| 亚洲国产精品va在线看黑人| 久久精品国产欧美亚洲人人爽| 亚洲桃花岛网站| 亚洲精选视频免费看| 国产亚洲午夜高清国产拍精品| 欧美日韩亚洲系列| 欧美激情va永久在线播放| 久久漫画官网| 午夜国产不卡在线观看视频| 99热精品在线| 亚洲精品少妇| 亚洲精品久久久久久久久久久久| 免播放器亚洲一区| 老司机一区二区三区|