我在使用_mkdir()的时候,遇到一个问题:
我的_mkdir()的参数一定要是新建文件夹的完整路径才能建立起一个文件夹,比如
CString tempDir="c:\\temp\\abc";
_mkdir(tempDir);
才能建立abc目录;我现在想用_chdir()把当前路径设置为c:\temp,再用
_mkdir("\\abc");
建立abc目录,却失败,请问为什么?

解决方案 »

  1.   

    试试".\\abc","\\abc"表示当前盘根目录下的abc目录。
      

  2.   

    CString tempDir="c:\\temp";
    _chdir(tempDir.operator LPCTSTR());
    _mkdir("\\abc");是可以的
    “我的_mkdir()的参数一定要是新建文件夹的完整路径才能建立起一个文件夹”---NO
      

  3.   

    我的测试程序(基于MSDN)如下,可以很好运行。/* MAKEDIR.C */#include <direct.h>
    #include <stdlib.h>
    #include <stdio.h>int main( void )
    {
        if( _chdir("e:\\temp" ) != 0 )
        {
           printf("change dir failure!");
           getchar();
           return -1;
        }   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" );
          
       getchar();
       return 0;
    }
      

  4.   

    _chdrive(3);
    _chdir("c:\\temp\\");
    system("md testtmp");你把当前路径设置