C语言创建文件夹的问题~

现在要写一个小程序,作用是,运行第一次生成一个名为01的文件夹,再运行第二次又产生一个名为02的文件夹,再运行此程序又生成一个名为03的文件夹。以此类推可生成多个文件夹,请问各位如何写这个程序?
注,要在vc6++上写的~拜托了各位

可以使用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" );
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-05
#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下调试成功

追问

谢谢朋友的耐心的解答,不过这有点复杂我看不懂,谢谢了~

追答

他那个的确比我这个简单,是我想复杂了,顺便学习下他的方法。

第2个回答  推荐于2018-04-10
#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;
}

本回答被提问者和网友采纳
第3个回答  2013-07-05
用文件打开,,,看看是不是存在,,原理创建追问

能写出来给我吗?我刚学没多久~