Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для котвася

Пользователь


Сообщения: 147
Благодарности: 5

Профиль | Отправить PM | Цитировать


может это поможет:
Код: Выделить весь код

TCHAR   sPathTo [] = “c:\\1\\2\\3\\4\\5\\6\\7\\8”;//директория, которую нужно создать

bool AQLCreateDirectory(TCHAR * sPathTo)
{
  //пока директория не создана, будем пытаться её создать//
  while(CreateDirectory(sPathTo, NULL) == FALSE)
  {
    /* директория не создана, поэтому нужно сначала создать ”предыдущую” директорию */
    TCHAR   sTemp[MAX_PATH];
    int k = strlen(sPathTo);
    strcpy(sTemp, sPathTo);

    //пытаемся найти и создать директорию самого “нижнего” уровня
    while(CreateDirectory(sTemp, NULL) != TRUE)
    {
      /* пытаемся найти первичные половые признаки предыдущей директории.... */
      while(szTemp1[--k] != '\\')            
      {
        if(k<=1)                        
          return FALSE;/* похоже, что директория создана быть вообще не может! 
        sTemp[k] = NULL;
      }
      /* ......а как только нашли - создать её */     
    }
    //во время первого прохода будет создана директория “1”, во время второго – “2” и т.д.
  }
  return TRUE;
}
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:55, 04-08-2010 | #7