расширение файла в StringCbCatN (), чтобы получить все имена файлов с расширением - PullRequest
0 голосов
/ 01 февраля 2012

Код, который я сейчас использую:

int main(int argc, char *argv[]) 
{ 
WIN32_FIND_DATA FindFileData; 
HANDLE hFind = INVALID_HANDLE_VALUE; 
DWORD dwError; 
LPSTR DirSpec; 
size_t length_of_arg; 
int i,j;
char cd[256],schar[500];
FILE *fp;  
DirSpec = (LPSTR) malloc (BUFSIZE); 

// Check for command-line parameter; otherwise, print usage. 
 if(argc != 2) 
 { 
   printf("Usage: Test <dir>\n"); 
   return 2; 
 } 

 // Check that the input is not larger than allowed.
 //scanf("%s",argv[1]);

  StringCbLength(argv[1], BUFSIZE, &length_of_arg); 
  if (length_of_arg > (BUFSIZE - 2)) 
  { 
  printf("Input directory is too large.\n"); 
  return 3; 
  } 

  printf ("Target directory is %s.\n", argv[1]); 

  StringCbCopyN (DirSpec, BUFSIZE, argv[1], length_of_arg+1); 
  StringCbCatN (DirSpec, BUFSIZE, "\\namefile.b11", 18); 

   hFind = FindFirstFile(DirSpec, &FindFileData); 

  if (hFind == INVALID_HANDLE_VALUE)  
  { 
    printf ("Invalid file handle. Error is %u.\n", GetLastError()); 
   return (-1); 
  }  
  else 
  { 
    printf ("First file name is %s.\n", FindFileData.cFileName); 
    fp=fopen(DirSpec,"rb");
  for(i=0;i< 8;i++)
           {
                 schar[i]= fgetc(fp);//get each character from file

           }    
    if ( i > 7 )
    {  
        cd[i]=schar[6]*65336+schar[5]*256+schar[4];
        printf("%d",cd[i]);

    }

                    // List all the other files in the directory. 
  while (FindNextFile(hFind, &FindFileData) != 0)  
  { 
     printf ("Next file name is %s.\n", FindFileData.cFileName); 
  } 

  dwError = GetLastError(); 
  FindClose(hFind); 
  if (dwError != ERROR_NO_MORE_FILES)  
  { 
     printf ("FindNextFile error. Error is %u.\n", dwError); 
     return (-1); 
  } 
  } 

  free(DirSpec);
  getchar();
  return (0); 
  }

Это работает нормально. Если я конкатинирую имя файла напрямую, используя StringCbCatN().

Но для каждого файла мне нужно изменить имя файла. Которого я не хочу. Можно ли распечатать файл с расширением?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...