Operator konkatenacji w C++

0

Jak tworzyć katalogi w petli tak aby do nazwy dodawac cyferke z poszczegolnej iteracji: kat1, kat2, kat3, ...itd ???

for (i=0; i<liczba; i++){
mkdir("katalog"+i);
}

Ponizszy fragment kodu nie dziala prawidlowo, chyba dlatego ze i jest typu int, a nie stringiem. Jak w takim razie przekonwertowac int na string, ale zeby nie zwracal znaku ascii [???] </cpp>

0

itoa()/vsprintf() + strcat() +f1

0

dzieki, ale wyrzuca jakies errory:(
Moglbys bardziej sie odniesc do mojego przykladu? :P

0
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <dir.h>

katalogi(char* nazwa,int dlugoscnazwy,unsigned int ile,unsigned int start=0,char dopelnienie=48){
  int ret=0;
  char liczby[11];
  char* calosc=new char[dlugoscnazwy+1];
  strncpy((char*)memset(calosc,dopelnienie,dlugoscnazwy--),nazwa,strlen(nazwa));
  ile+=start;
  while((start<ile)&&(!ret)){
    strcpy(&calosc[dlugoscnazwy-strlen(itoa(start++,liczby,10))],liczby);
    ret=mkdir(calosc); 
    //printf("%s\n",calosc); //debug code
  }
  delete calosc;
  return ret;
}

main(){
  mkdir("c:\\temp");
  char* nazwa="c:\\temp\\abc";
  int i=katalogi(nazwa,strlen(nazwa+4),20,1,'_');
  printf("\nkatalogi %szostaly utworzone\n",(i?"nie ":""));
  return 0;
}

// dzizas, masz za to w formie działającej, ale nieczytelnej ;]

0

Dziala, dzieki za poswiecony czas :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1