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

Rispondi quotando
