|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
[c++] non rinomina...
il codice serve a rinominare delle canzoni e si compila perfettamente...
genera perfettamente un altra stringa col nuovo nome per ogni canzone... l'unico comando che sembra non funzionare è l'ultimo, ovvero renamedati_file.cFileName,nuovo_nome);.. come mai??? grazie ciao Codice:
int namen(void) {
WIN32_FIND_DATA dati_file;
HANDLE ricerca = FindFirstFile("*",&dati_file);
//printf("%s\n",dati_file.cFileName);
while (FindNextFile(ricerca,&dati_file) != 0) {
int patch_length = strlen(dati_file.cFileName);
// controllo se è file musicale
if (
/*mp3*/ (dati_file.cFileName[(patch_length-1)] == '3' && dati_file.cFileName[(patch_length-2)] == 'p' && dati_file.cFileName[(patch_length-3)] == 'm' && dati_file.cFileName[(patch_length-4)] == '.')
/*wma*/ ||(dati_file.cFileName[(patch_length-1)] == 'a' && dati_file.cFileName[(patch_length-2)] == 'm' && dati_file.cFileName[(patch_length-3)] == 'w' && dati_file.cFileName[(patch_length-4)] == '.')
/*wav*/ ||(dati_file.cFileName[(patch_length-1)] == 'v' && dati_file.cFileName[(patch_length-2)] == 'a' && dati_file.cFileName[(patch_length-3)] == 'w' && dati_file.cFileName[(patch_length-4)] == '.')
){
char nuovo_nome[100];
int x=0, segnalatore_spazio =1, segnalatore_titolo =0, segnalatore_end =0;
while (x != patch_length){
if (dati_file.cFileName[x] != ' ' && dati_file.cFileName[x] != '-' && dati_file.cFileName[x] != '(' && dati_file.cFileName[x] != ')'){
//mettere maiuscola dopo spazio prima del -
if (segnalatore_spazio == 1 && segnalatore_titolo == 0 && segnalatore_end == 0){
nuovo_nome[x] = toupper(dati_file.cFileName[x]);
segnalatore_spazio = 0;
}
else if (segnalatore_spazio == 1 && segnalatore_titolo == 1 && segnalatore_end == 0){
nuovo_nome[x] = toupper(dati_file.cFileName[x]);
segnalatore_spazio = 0;
}
else {
nuovo_nome[x] = tolower(dati_file.cFileName[x]);
}
} else nuovo_nome[x] = dati_file.cFileName[x]; //salvataggio a parte per - SPACE ( )
if(segnalatore_titolo == 0) //questo blocca il conteggio spazi dopo il -
if(dati_file.cFileName[x] == ' ' || dati_file.cFileName[x] == '(' || dati_file.cFileName[x] == ')') segnalatore_spazio = 1;
if(dati_file.cFileName[x] == '-') {segnalatore_titolo = 1;
segnalatore_spazio = 1;} //questo per mettere una maiuscola alla prima dopo -
if(dati_file.cFileName[x] == '.') segnalatore_end = 1;
x++;
}
nuovo_nome[patch_length] = '\0';
rename(dati_file.cFileName,nuovo_nome);
}
}
return 0;
}
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
risolto, in realtà rinomina alla perfezione... basta solo uscire e ritornare nella cartella...
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Jun 2006
Città: Inverno: Novgorod. Estate: Haifa
Messaggi: 879
|
Quote:
__________________
Hosti non solum dandam esse viam ad fugiendum, sed etiam muniendam / Ceterum censeo Carthaginem esse delendam / Et facere et pati fortia romanum est / Nemo Romanorum pacis mentionem habere dignatus est / Roma locuta, causa finita Milla |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:56.



















