Witam jestem poczatkujacy w c++ i tym bardziej nie moge dojsc do dlaczego moj kod dziala tak jak dziala
kod:
char ListFiles(char *src){
struct dirent* pozycja=0;
char *fileName;
char *newfilename = src;
char *sep = "\\";
strcat(newfilename, sep);
DIR* folder = opendir(src);
char *tmpname = newfilename;
while (pozycja=readdir(folder)){
fileName=(*pozycja).d_name;
tmpname = strcat(tmpname, sep);
cout << "1 " << tmpname << "\n" ;
tmpname = newfilename;
cout << "2 " << tmpname << " " << fileName << "\n" ;
}
}
chce napisac rekurecyjna funkcje do przegladania kataogow
tmpname = strcat(tmpname, sep);
wiem ze ta funkcja strcat laczy ze soaba chary w jeden i dziala ok
tylko za drugim wywolaniem petli tmpname ma wartosc z poprzedniego przejscia nawet gdy tmpname zadeklaruje w petli
czy kos wie dlaczego tak moze sie dziac?