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 *********//