文件处理
使用这些例程可创建、删除和操作文件以及设置和检查文件访问权限。
C 运行时库将任何时候可以打开的文件数限制为 512。 试图打开超过最大数量的文件描述符或文件流会导致程序失败。 使用 _setmaxstdio
可更改此数字。
文件处理例程(文件描述符)
这些例程对文件描述符指定的文件进行操作。
例程 | 使用 |
---|---|
_chsize ,_chsize_s |
更改文件大小 |
_filelength 、_filelengthi64 |
获取文件长度 |
_fstat 、_fstat32 、_fstat64 、_fstati64 、_fstat32i64 、_fstat64i32 |
获取有关描述符的文件状态信息 |
_get_osfhandle |
返回与现有 C 运行时文件描述符关联的操作系统文件句柄 |
_isatty |
检查字符设备 |
_locking |
锁定文件的区域 |
_open_osfhandle |
将 C 运行时文件描述符与现有操作系统文件句柄关联 |
_setmode |
设置文件转换模式 |
文件处理例程(路径或文件名)
这些例程对路径或文件名指定的文件进行操作。
例程 | 使用 |
---|---|
_access 、_waccess 、_access_s 、_waccess_s |
检查文件权限设置 |
_chmod 、_wchmod |
更改文件权限设置 |
_fullpath 、_wfullpath |
将相对路径扩展为其绝对路径名 |
_makepath 、_wmakepath 、_makepath_s 、_wmakepath_s |
将路径组件合并为单个完整路径 |
_mktemp 、_wmktemp 、_mktemp_s 、_wmktemp_s |
创建唯一的文件名 |
remove 、_wremove |
删除文件 |
rename 、_wrename |
重命名文件 |
_splitpath 、_wsplitpath 、_splitpath_s 、_wsplitpath_s |
将路径分析为组件 |
_stat 、_stat64 、_stati64 、_wstat 、_wstat64 、_wstati64 |
获取有关命名文件的文件状态信息 |
_umask ,_umask_s |
为程序创建的新文件设置默认权限掩码 |
_unlink 、_wunlink |
删除文件 |
文件处理例程(打开文件)
这些例程打开文件。
例程 | 使用 |
---|---|
fopen 、_wfopen 、fopen_s 、_wfopen_s |
打开文件并返回指向打开的文件的指针。 |
_fsopen 、_wfsopen |
打开具有文件共享的流并返回指向打开的文件的指针。 |
_open 、_wopen |
打开文件并返回打开的文件的文件描述符。 |
_sopen 、_wsopen 、_sopen_s 、_wsopen_s |
打开具有文件共享的文件并返回打开的文件的文件描述符。 |
_pipe |
创建用于读取和写入的管道。 |
freopen 、_wfreopen 、freopen_s 、_wfreopen_s |
重新分配文件指针。 |
这些例程提供一种方法,用于在 FILE
结构、文件描述符与 Win32 文件句柄之间更改文件的表示形式。
例程 | 使用 |
---|---|
_fdopen , _wfdopen |
将流与以前为低级别 I/O 而打开的文件相关联,并返回指向打开的流的指针。 |
_fileno |
获取与流关联的文件描述符。 |
_get_osfhandle |
返回与现有 C 运行时文件描述符关联的操作系统文件句柄 |
_open_osfhandle |
将 C 运行时文件描述符与现有操作系统文件句柄关联。 |
以下 Win32 函数也打开文件和管道:
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈