
C语言创建文件夹的问题~
现在要写一个小程序,作用是,运行第一次生成一个名为01的文件夹,再运行第二次又产生一个名为02的文件夹,再运行此程序又生成一个名为03的文件夹。以此类推可生成多个文件夹,...
现在要写一个小程序,作用是,运行第一次生成一个名为01的文件夹,再运行第二次又产生一个名为02的文件夹,再运行此程序又生成一个名为03的文件夹。以此类推可生成多个文件夹,请问各位如何写这个程序?
注,要在vc6++上写的~拜托了各位 展开
注,要在vc6++上写的~拜托了各位 展开
4个回答
展开全部
可以使用mkdir函数解决问题。
使用权限:于目前目录有适当权限的所有使用者
使用方式:mkdir [-p] dirName
说明:建立名称为 dirName 的子目录。
参数:-p 确保目录名称存在,如果目录不存在的就新创建一个。
语法:mkdir [选项] dir-name
说明:该命令创建由dir-name命名的目录。要求创建目录的用户在当前目录中(dir-name的父目录中)具有写权限,并且dirname不能是当前目录中已有的目录或文件名称。
命令中各选项的含义为:
- m 对新建目录设置存取权限。也可以用chmod命令设置。
- p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
给一个mkdir函数的实例:
#include <direct.h>
#include <stdlib.h>
#include <stdio.h>
int main( void )
{
if( _mkdir( "\\testtmp" ) == 0 )
{
printf( "Directory '\\testtmp' was successfully created\n" );
system( "dir \\testtmp" );
if( _rmdir( "\\testtmp" ) == 0 )
printf( "Directory '\\testtmp' was successfully removed\n" );
else
printf( "Problem removing directory '\\testtmp'\n" );
}
else
printf( "Problem creating directory '\\testtmp'\n" );
}
使用权限:于目前目录有适当权限的所有使用者
使用方式:mkdir [-p] dirName
说明:建立名称为 dirName 的子目录。
参数:-p 确保目录名称存在,如果目录不存在的就新创建一个。
语法:mkdir [选项] dir-name
说明:该命令创建由dir-name命名的目录。要求创建目录的用户在当前目录中(dir-name的父目录中)具有写权限,并且dirname不能是当前目录中已有的目录或文件名称。
命令中各选项的含义为:
- m 对新建目录设置存取权限。也可以用chmod命令设置。
- p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
给一个mkdir函数的实例:
#include <direct.h>
#include <stdlib.h>
#include <stdio.h>
int main( void )
{
if( _mkdir( "\\testtmp" ) == 0 )
{
printf( "Directory '\\testtmp' was successfully created\n" );
system( "dir \\testtmp" );
if( _rmdir( "\\testtmp" ) == 0 )
printf( "Directory '\\testtmp' was successfully removed\n" );
else
printf( "Problem removing directory '\\testtmp'\n" );
}
else
printf( "Problem creating directory '\\testtmp'\n" );
}
展开全部
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <direct.h>
#include <Windows.h>
//前提是程序所在路径下必须手动创建一个dirname.txt文件,文件为空
int MKDIR()
{
FILE *fp;
int filesize;
int i_name;
char pwd[256];//存系统当前路径
char filename[16] = {0};
getcwd(pwd, 256);//获取系统路径
chdir(pwd);//更改工作目录为程序路径
printf("%s\n", pwd);
fp = fopen("./dirname.txt", "r+");
if(fp == NULL)
{
printf("打开文件失败!错误码:%d\n", GetLastError());
return -1;
}
fseek(fp, 0L, SEEK_END);
filesize = ftell(fp);
if(filesize == 0)
{
i_name = 0;
}
else
{
fseek(fp, 0L, SEEK_SET);
fgets(filename, 16, fp);
}
i_name = atoi(filename);
i_name++;
if(i_name < 10)
{
filename[0] = '0';
sprintf(filename+1, "%d", i_name);
}
else
{
sprintf(filename, "%d", i_name);
}
if(_mkdir(filename) != 0)
{
printf("创建文件夹%s失败!\n", filename);
return -1;
}
fseek(fp, 0L, SEEK_SET);
fwrite(filename, sizeof(char), strlen(filename), fp);
fclose(fp);
return 0;
}
#include <stdio.h>
main()
{
if(MKDIR() == 0)
printf("创建成功!\n");
return 0;
}
VC6.0下调试成功
追问
谢谢朋友的耐心的解答,不过这有点复杂我看不懂,谢谢了~
追答
他那个的确比我这个简单,是我想复杂了,顺便学习下他的方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <io.h>
#include <stdio.h>
int main()
{
int n=0;
char dir[12];
while(1)
{
n++;
sprintf(dir,"%02d",n);
if(access(dir, F_OK)==0)
continue;
mkdir(dir);
break;
}
return 0;
}
追问
error C2065: 'F_OK' : undeclared identifier
error C2065: 'mkdir' : undeclared identifier
什么情况?
vc6++
追答
....
vc++6.0。。。看这个:
#include <io.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n=0;
char dir[12];
while(1)
{
n++;
sprintf(dir,"md %02d >nul",n);
if(system(dir)==0)
break;
}
return 0;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用文件打开,,,看看是不是存在,,原理创建
追问
能写出来给我吗?我刚学没多久~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询