发文章
发文工具
撰写
网文摘手
文档
视频
思维导图
随笔
相册
原创同步助手
其他工具
图片转文字
文件清理
AI助手
留言交流
1. 文件输出流ofstream对象,当文件不存在时可以自动创建文件。2. 用CFile对象打开一个文件,如果文件不存在也可以自动创建文件。3. 利用Windows API中的CreateFile函数。示例:CreateFile(szFilePath, // 要打开的文件名GENERIC_READ, // 以读方式打开FILE_SHARE_READ, // 可共享读NULL, // 默认安全设置OPEN_EXISTING, // 只打开已经存在的文件FILE_ATTRIBUTE_NORMAL, // 常规文件属性NULL); // 无模板如何创建目录?1. 利用Windows API中的CreateDirectory函数。示例:CreateDirectory(szDirPath, NULL);2. 在根目录下创建文件夹:MakeSureDirectoryPathExists函数。include <imagehlp.h>#pragma comment(lib,"imagehlp.lib")BOOL MakeSureDirectoryPathExists( PCSTR DirPath );示例:MakeSureDirectoryPathExists("c:\\1\\2\\"); // 一下子创建了文件夹1和它的子文件夹2如何删除文件?1. 利用Windows API中的DeleteFile函数,参数是要删除的文件路径,返回BOOL类型表示是否删除成功。2. 利用system函数,调用dos中的del命令。示例:system("del c:\\1.txt");3. 利用CFile::Remove静态函数。示例:CFile::Remove("E:\\1.txt");4. 利用 SHFileOperation函数。网上说可以删除目录,但我试了一下没有成功。如何删除目录?1. 利用RemoveDirectory函数,传递文件夹路径作为参数。注意,此函数只能删除空文件夹。如果文件夹非空,本函数会返回FALSE。2. 自己编写DeleteDirectory函数(Windows API中并无此函数),思路是利用CFileFind类的对象遍历文件夹下的文件和目录,将它们逐一删除,剩下空目录最后删除。删除子文件夹可以用递归的方法。3. 利用system函数,调用dos中的rd命令,这种方法也只能删除空目录。如何复制文件?1. 利用Windows API中的CopyFile函数。2. 利用system函数调用dos中的copy命令。3. 利用 SHFileOperation函数。如何移动文件?1. 调用MoveFile函数。2. 利用system函数调用dos中的move命令。3. 利用 SHFileOperation函数。如何重命名文件/目录?1. 利用CFile::Rename静态函数。2. 利用 SHFileOperation函数。如何读文件?1. 调用ReadFile函数。2. 调用CFile对象的Read函数。3. 利用文件输入流ifstream对象。如何写文件?1. 调用WriteFile函数。2. 调用CFile对象的Write函数。3. 利用文件输出流ofstream对象。如何获取文件大小?1. 利用GetFileSize或GetFileSizeEx函数。2. 利用CFile对象的GetLength函数。3. 利用CFileFind对象的GetLength函数。如何获取进程当前目录?利用GetCurrentDirectory函数。如何设置进程当前目录?利用SetCurrentDirectory函数。如何获取模块所在路径?利用GetModuleFileName函数,第一个参数为NULL则获取当前模块路径,非NULL可以获取指定模块的路径。如何查找文件、遍历文件?1. 利用FindFirstFile和FindNextFile两个API函数。2. 利用CFileFind对象中的FindFile和FindNextFile函数。如何获取文件/目录的属性?1. 利用GetFileAttributes或GetFileAttributesEx函数。2. 利用CFile对象的GetStatus等函数。3. 利用CFileFind对象的一系列函数。如何设置文件/目录属性?1. 利用SetFileAttributes函数。2. 利用CFile对象的SetStatus函数。如何判断文件或文件夹是否存在?1. 判断文件夹是否存在:BOOL PathIsDirectory( LPCTSTR pszPath);需要包含shlwapi.h。2. 判断文件或文件夹是否存在:BOOL PathFileExists(LPCTSTR pszPath); 需要#include <Shlwapi.h>3. _access函数,需要 #include <io.h>int _access( const char *path, int mode );int _waccess( const wchar_t *path, int mode );pathFile or directory path. modeRead/write attribute. mode valueChecks file for00Existence only02Write-only04Read-only06Read and write #include <io.h> #include <stdio.h> #include <stdlib.h> void main( void ) { /* Check for existence */ if( (_access( "ACCESS.C", 0 )) != -1 ) { printf( "File ACCESS.C exists\n" ); /* Check for write permission */ if( (_access( "ACCESS.C", 2 )) != -1 ) printf( "File ACCESS.C has write permission\n" ); } } 4. 通过FindFirstFile函数实现。BOOL IsFileExists(LPCTSTR lpszFileName) { WIN32_FIND_DATA wfd; BOOL bRet; HANDLE hFind; hFind = FindFirstFile(lpszFileName, &wfd); bRet = hFind != INVALID_HANDLE_VALUE; FindClose(hFind); return bRet; }
1. 文件输出流ofstream对象,当文件不存在时可以自动创建文件。
2. 用CFile对象打开一个文件,如果文件不存在也可以自动创建文件。
3. 利用Windows API中的CreateFile函数。示例:
CreateFile(szFilePath, // 要打开的文件名
GENERIC_READ, // 以读方式打开
FILE_SHARE_READ, // 可共享读
NULL, // 默认安全设置
OPEN_EXISTING, // 只打开已经存在的文件
FILE_ATTRIBUTE_NORMAL, // 常规文件属性
NULL); // 无模板
如何创建目录?
1. 利用Windows API中的CreateDirectory函数。示例:CreateDirectory(szDirPath, NULL);
2. 在根目录下创建文件夹:MakeSureDirectoryPathExists函数。
include <imagehlp.h>
#pragma comment(lib,"imagehlp.lib")
BOOL MakeSureDirectoryPathExists(
PCSTR DirPath
);
示例:MakeSureDirectoryPathExists("c:\\1\\2\\"); // 一下子创建了文件夹1和它的子文件夹2
如何删除文件?
1. 利用Windows API中的DeleteFile函数,参数是要删除的文件路径,返回BOOL类型表示是否删除成功。
2. 利用system函数,调用dos中的del命令。示例:system("del c:\\1.txt");
3. 利用CFile::Remove静态函数。示例:CFile::Remove("E:\\1.txt");
4. 利用 SHFileOperation函数。网上说可以删除目录,但我试了一下没有成功。
如何删除目录?
1. 利用RemoveDirectory函数,传递文件夹路径作为参数。注意,此函数只能删除空文件夹。如果文件夹非空,本函数会返回FALSE。
2. 自己编写DeleteDirectory函数(Windows API中并无此函数),思路是利用CFileFind类的对象遍历文件夹下的文件和目录,将它们逐一删除,剩下空目录最后删除。删除子文件夹可以用递归的方法。
3. 利用system函数,调用dos中的rd命令,这种方法也只能删除空目录。
如何复制文件?
1. 利用Windows API中的CopyFile函数。
2. 利用system函数调用dos中的copy命令。
3. 利用 SHFileOperation函数。
如何移动文件?
1. 调用MoveFile函数。
2. 利用system函数调用dos中的move命令。
如何重命名文件/目录?
1. 利用CFile::Rename静态函数。
2. 利用 SHFileOperation函数。
如何读文件?
1. 调用ReadFile函数。
2. 调用CFile对象的Read函数。
3. 利用文件输入流ifstream对象。
如何写文件?
1. 调用WriteFile函数。
2. 调用CFile对象的Write函数。
3. 利用文件输出流ofstream对象。
如何获取文件大小?
1. 利用GetFileSize或GetFileSizeEx函数。
2. 利用CFile对象的GetLength函数。
3. 利用CFileFind对象的GetLength函数。
如何获取进程当前目录?
利用GetCurrentDirectory函数。
如何设置进程当前目录?
利用SetCurrentDirectory函数。
如何获取模块所在路径?
利用GetModuleFileName函数,第一个参数为NULL则获取当前模块路径,非NULL可以获取指定模块的路径。
如何查找文件、遍历文件?
1. 利用FindFirstFile和FindNextFile两个API函数。
2. 利用CFileFind对象中的FindFile和FindNextFile函数。
如何获取文件/目录的属性?
1. 利用GetFileAttributes或GetFileAttributesEx函数。
2. 利用CFile对象的GetStatus等函数。
3. 利用CFileFind对象的一系列函数。
如何设置文件/目录属性?
1. 利用SetFileAttributes函数。
2. 利用CFile对象的SetStatus函数。
如何判断文件或文件夹是否存在?
1. 判断文件夹是否存在:BOOL PathIsDirectory( LPCTSTR pszPath);需要包含shlwapi.h。
2. 判断文件或文件夹是否存在:BOOL PathFileExists(LPCTSTR pszPath);
需要#include <Shlwapi.h>
3. _access函数,需要 #include <io.h>
int _access(
const char *path,
int mode
int _waccess(
const wchar_t *path,
path
File or directory path.
mode
Read/write attribute.
mode value
Checks file for
00
Existence only
02
Write-only
04
Read-only
06
Read and write
#include <io.h>
#include <stdio.h>
#include <stdlib.h>
void main( void )
{
/* Check for existence */
if( (_access( "ACCESS.C", 0 )) != -1 )
printf( "File ACCESS.C exists\n" );
/* Check for write permission */
if( (_access( "ACCESS.C", 2 )) != -1 )
printf( "File ACCESS.C has write permission\n" );
}
4. 通过FindFirstFile函数实现。
BOOL IsFileExists(LPCTSTR lpszFileName)
WIN32_FIND_DATA wfd;
BOOL bRet;
HANDLE hFind;
hFind = FindFirstFile(lpszFileName, &wfd);
bRet = hFind != INVALID_HANDLE_VALUE;
FindClose(hFind);
return bRet;
来自: Fredanf > 《C 文件目录》
0条评论
发表
请遵守用户 评论公约
VC文件目录常见操作
VC文件目录常见操作。HANDLE hFind = FindFirstFile(strPath, &wfd);参数: 文件名字, 注意,如果给的是目录(文件夹),该函数返回值不会递归计算目录下所有文件大小。hFind = FindFirstFile(filena...
[转载]VC中判断目录,文件是否存在,创建目录,求目录或
[转载]VC中判断目录,文件是否存在,创建目录,求目录或。BOOL FolderExist(CString strPath){文件存在性检查:注意,该函数是检查当前目录下是否有该文件如果想检查其他目录下是否有该文件,则在参数中...
VC编程小技巧之框架窗口及其他
VC编程小技巧之框架窗口及其他 1.修改主窗口风格 2.窗口的分割与停靠 3.如何使我的程序在启动时不创建一个新文档
Visual C++中调用DLL实现数据加密
调用DLL,首先需要将DLL文件映像到用户进程的地址空间中,然后才能进行函数调用,这个函数和进程内部一般函数的调用方法相同。这种方法需要DLL工程经编译产生的LIB文件,此文件中包含了DLL允许应用程序...
C语言第一个DLL程序
ul_reason_for_call 表示DLL当前所处的状态,例如DLL_PROCESS_ATTACH表示DLL刚刚被加载到一个进程中,DLL_PROCESS_DETACH表示DLL刚刚从...
C/C++下调用matlab函数操作说明
C/C++下调用matlab函数操作说明。安装完matlab之后,需要设定对应的c++编译器才能编译.m文件生成可供c++调用的库文件。将前面生成的libA...
如何快速找到需要的函数
如何快速找到需要的函数1、打开函数参考文件夹中的"查找函数"文件;2、在"我的收藏"中建立一个"函数参考"目录,并将"查找函数"文件收入目录内;3、将函数参考...
CFileFind用法小结
每个文件夹都有下面两个特殊子文件夹: (1) . 表示本文件夹自己 (2) .. 表示本文件夹的父文件夹 显然,在文件夹遍历的时候,这两个子文件夹需要特殊处理,否则将陷入死循环。函数实...
OpenCV 2.1+VS2010+Win7 配置
OpenCV 2.1+VS2010+Win7 配置 环境:windows 7+visual studio 2010+opencv 2.1.OpenCV的*d.lib文件(for debug)和*.lib文件(for relea...
微信扫码,在手机上查看选中内容