当前位置:首页 » 文件管理 » c操作文件夹

c操作文件夹

发布时间: 2024-01-26 05:38:39

㈠ 如何用c语言创建文件夹

创建文件夹有两个方法:
①使用cmd命令mkdir,举例:system("mkdir
D:\\dic");这条命令执行mkdir程序,在D盘创建一个文件夹dic。
②使用windows提供的CreateDictionary函数,需要包含头文件windows.h,使用方法:
CreateDictionary("D:\\dic", NULL);
同样在D盘创建一个文件夹dic,因为转义字符的问题所以用两个斜杠。
这个命令和函数我就不详细解释了,分别参考mkdir和CreateDictionary的网络。
这里强调一下,这里说的mkdir是cmd命令,CreateDictionary是windows
API函数。

㈡ 怎么用C语言删除一个文件夹

可以用 rmdir() 函数,需要包含头文件 direct.h, 还有一点需要注意,文件夹内是空的才可以删除掉。下面是一个删除d: emp文件夹,代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<direct.h>

intmain()
{
rmdir("D:\temp");

system("pause");
return0;
}

㈢ 如何用c语言将文件复制到自己想要的文件夹

C语言里的system("");函数可以执行命令行的几乎所有指令,把命令行输入的内容作为参数传入即可。复制文件的话 应该是: 源文件 目的路径。
例如命令行里的 c:\test.txt d:\text.txt,
也就是C语言里的:system(" c:\test.txt d:\text.txt");
或者这样
char c[50] = " c:\test.txt d:\text.txt";
system(c);

㈣ 用C语言怎么创建文件夹

在C语言中可以通过调用创建文件夹函数,或者使用系统命令两种方法创建文件夹。
一、调用库函数。
C语言库函数创建文件夹依赖于编译器,不同编译器使用的创建文件夹函数不同。 举例如下:
1、VC/VS编译器。
函数声明为 int _mkdir( const char *dirname );
头文件为direct.h。
功能为创建dirname文件夹,并返回结果,如果成功则返回0,否则返回-1。
2、TC编译器。
声明形式为 int mkdir(char *pathname);
头文件为dir.h。
功能为创建pathname文件夹,并返回结果,如果成功则返回0,否则返回-1。
3、gcc编译器。
声明形式为int mkdir(const char *pathname, mode_t mode);
其中函数头文件为sys/stat.h, 参数类型mode_t头文件为sys/types.h。
与其他编译器的创建文件夹函数不同,gcc创建文件夹多了一个参数mode, 指定被创建文件夹的权限。
函数功能为创建文件夹名为pathname, 权限值为mode的文件夹。 如果成功则返回0,否则返回-1。
二、通过系统命令调用。
在C 语言中可以通过system函数调用系统命令,具体命令格式取决于操作系统。
比如在Linux/Unix下,可以使用:
system("mkdir ./XXX");
来创建XXX文件夹。
而在windows下需要使用dos命令,比如:
system("mkdir .\\XXX");

㈤ c\c++怎样删除文件夹

第一种方法
1.SHFileOperation

SHFILEOPSTRUCT FileOp;
ZeroMemory((void*)&FileOp,sizeof(SHFILEOPSTRUCT));

FileOp.fFlags = FOF_SILENT|FOF_NOCONFIRMATION;
FileOp.hNameMappings = NULL;
FileOp.hwnd = NULL;
FileOp.lpszProgressTitle = NULL;
FileOp.pFrom = lpszPath;
FileOp.pTo = NULL;
FileOp.wFunc = FO_DELETE;

SHFileOperation(&FileOp);
如果加了FOF_SILENT标志,那么在函数调用的时候,即使出错,也不会弹框提示,但是,今天发现,如果这个目录是共享的,依然还是会弹框提示。不知道是不是一个Bug呢?

2.CFileFind

bool DeleteDirectory(char* strDirName)
{
CFileFind tempFind;
char strTempFileFind[MAX_PATH];

sprintf(strTempFileFind,"%s\\*.*", strDirName);
BOOL IsFinded = tempFind.FindFile(strTempFileFind);
while (IsFinded)
{
IsFinded = tempFind.FindNextFile();

if (!tempFind.IsDots())
{
char strFoundFileName[MAX_PATH];
strcpy(strFoundFileName, tempFind.GetFileName().GetBuffer(MAX_PATH));

if (tempFind.IsDirectory())
{
char strTempDir[MAX_PATH];
sprintf(strTempDir,"%s\\%s", strDirName, strFoundFileName);
DeleteDirectory(strTempDir);
}
else
{
char strTempFileName[MAX_PATH];
sprintf(strTempFileName,"%s\\%s", strDirName, strFoundFileName);
DeleteFile(sTempFileName);
}
}
}
tempFind.Close();
if(!RemoveDirectory(strDirName))
{
return FALSE;
}
return TRUE;
}
这个主要通过递归的方法,依次删除文件,直到目录为空,删除目录、文件夹。
第二种
//这是用vc的方法:

bool MyDeleteFile(char * lpszPath)
{
SHFILEOPSTRUCT FileOp={0};
FileOp.fFlags = FOF_ALLOWUNDO | //允许放回回收站
FOF_NOCONFIRMATION; //不出现确认对话框
FileOp.pFrom = lpszPath;
FileOp.pTo = NULL; //一定要是NULL
FileOp.wFunc = FO_DELETE; //删除操作
return SHFileOperation(&FileOp) == 0;
}

void MyDialog::OnButton3()
{
// MyDeleteFile("d:\\PID\0\0"); //删除一个文件夹
MyDeleteFile("d:\\PID.dsp\0d:\\PID.dsw\0\0"); //删除多个文件
}

void MyDialog::OnButton3()
{
// MyDeleteFile("d:\\PID\0\0"); //删除一个文件夹
MyDeleteFile("d:\\PID.dsp\0d:\\PID.dsw\0\0"); //删除多个文件
}

㈥ 在windows下 怎么用c语言遍历文件夹要用纯c的

什么叫纯C?
用C语言遍历文件肯定需要用到函数,标准C下貌似没有这个函数,但是使用VC的函数库可能可以实现,如果实在不行可以用第三方函数库,,,还不行的话用system("command");引用dos命令可以遍历,

热点内容
一台服务器多个同段地址怎么通讯 发布:2025-01-20 16:45:58 浏览:734
i7源码 发布:2025-01-20 16:40:48 浏览:983
抽签源码 发布:2025-01-20 16:38:35 浏览:62
密码箱怎么锁住 发布:2025-01-20 16:32:17 浏览:31
编译隔离 发布:2025-01-20 16:28:54 浏览:358
从哪里看自己的qq账号和密码 发布:2025-01-20 16:22:33 浏览:400
sql语句动态 发布:2025-01-20 16:18:22 浏览:298
sql表或的语句 发布:2025-01-20 16:00:49 浏览:163
西瓜视频怎么缓存不了电影了 发布:2025-01-20 16:00:45 浏览:890
javatimer 发布:2025-01-20 15:55:56 浏览:64