qui ci sono due funzioni: mi chiedevo se le variabili contenute in ogniuna di esse corressero il rischio di entrare in conflitto oppure no...
e volevo anche sapere se le variabili dentro una di queste funzioni rischiassero di entrare in conflitto con quelle del main... grazie
codice:
//********* INIZIO comando dir *********//
char *showdir(char s[2000])
{
char ret[2000];
strcpy(ret,s);
int x;
for(x=4;x < strlen(s);x++) {
ret[(x-4)] = s [x];
}
ret[(x-4)] = '\0';
char files[20000];
files[0] = '\0';
WIN32_FIND_DATA FindFileData;
HANDLE hFind = INVALID_HANDLE_VALUE;
char DirSpec[MAX_PATH + 1]; // directory specification
DWORD dwError;
char directory[120] = "C:\\";
strncpy (DirSpec, ret, strlen(ret)+1); //ret al posto di directory
strncat (DirSpec, "\\*", 3);
printf("\ndirectory dello scan: %s\n",DirSpec);
hFind = FindFirstFile( DirSpec, &FindFileData);
while (FindNextFile(hFind, &FindFileData) != 0)
{
strcat(files,"\n");
strcat(files,FindFileData.cFileName);
//printf("%s\n", FindFileData.cFileName);
}
return(files);
}
//********* FINE comando dir *********//
//********* INIZIO comando ren *********//
char *rinomina(char ss[2000])
{
char s[2000] = "ren \"prova.txt\" \"prova2.txt\"";
char ret[2000];
char ret2[2000];
char ret3[2000];
strcpy(ret,s);
printf("%s",s);
int x,y,xx,xx2, cont=0,cont2=0;
for(x=0;x < strlen(s);x++) {
if (ret[x] == '"') { y=y+1; }
if (y == 1 & cont == 0) {
cont = 1;
xx2 = 0;
for(xx = x+1 ; ; xx++){
ret2[xx2] = s[xx];
xx2 = xx2 + 1;
if (ret[xx] == '"') { ret2[(xx2-1)]= '\0'; break; }
}
}
if (y==3 & cont2 == 0) { cont2 = 1;
xx2 = 0;
for(xx = x+1 ; ; xx++){
ret3[xx2] = s[xx];
xx2 = xx2 + 1;
if (ret[xx] == '"') { ret3[(xx2-1)]= '\0'; break; }
}
}
}
printf("RINOMINAZIONE FILE: DA: %s A: %s\n",ret2,ret3);
int control = rename(ret2,ret3); char resp[2000];
if (control != 0) { strcpy(resp,"rinominazione non corretta"); } else { strcpy(resp,"rinominazione OK"); }
return(resp);
}
//********* FINE comando ren *********//