因为程序需要对文件名进行处理,请问怎样使c++3.1支持长文件名

解决方案 »

  1.   

    因为程序需要对文件名进行处理,请问怎样使c++3.1支持长文件名 
    或者怎样使下面的程序在vc正常运行
    #include <stdio.h>
    #include <direct.h>
    #include <dir.h>
    #include <string.h>
    #include <stdlib.h>
    int main(void)
    { int i;
    char buffer[55];
    char name1[256];
    char name2[256];
    int done;
    struct ffblk ffblk;
     _chdrive(4);
     chdir("\\");
     chdir("1");
    getcwd(buffer, 55);
     printf("The current directory is: %s\n", buffer);
    done = findfirst("*.*",&ffblk,0);
         while (!done)
       {
                i=1;
       strcpy(name1, ffblk.ff_name);
         printf("  %s\n", name1);
       while (i<256)
       {
       name2[i-1]=name1[i];
               i++;
       }
       printf("%s",name2);
               rename(name1,name2);   
          done = findnext(&ffblk);
       }
    }
      

  2.   

    #include <stdio.h>
    #include <direct.h>
    #include <dir.h>
    #include <string.h>
    #include <stdlib.h>
    #include <io.h>
    int main(void)

    long i;
    char buffer[255];
    char name1[256];
    char name2[256];
    char singer[256];
    int done;
    struct _finddata_t ffblk;
     _chdrive(8);
    chdir("\\");
    chdir("周慧敏");
    getcwd(buffer, 55);
    printf("The current directory is: %s\n", buffer);
    strcpy(name1, "*.*");
    done = _findfirst(name1,&ffblk);
    do
    {
    i=1;
        strcpy(name1, ffblk.name);
        printf("  %s\n", name1);
    while (i<256)
    {
    name2[i-1]=name1[i+1];
    i++;
    }
    printf("%s\n",name2);
    rename(name1,name2);

    } while (!_findnext(done, &ffblk));
    }在vc 中只要改成这样就可以了