/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
C++ dos program der ændrer navnet på mine ~
Fra : Thomas


Dato : 12-03-03 16:38

Jeg har en masse filer der hedder 001.jpg, 002.jpg osv. som jeg gerne vil
have ændret navnet på til cd1_001.jpg, cd1_002.jpg osv.
Hvordan laver et smart lille dosprogram til at håndterer dette?



 
 
Bertel Lund Hansen (12-03-2003)
Kommentar
Fra : Bertel Lund Hansen


Dato : 12-03-03 17:57

Thomas skrev:

>Jeg har en masse filer der hedder 001.jpg, 002.jpg osv. som jeg gerne vil
>have ændret navnet på til cd1_001.jpg, cd1_002.jpg osv.
>Hvordan laver et smart lille dosprogram til at håndterer dette?

Her er et ikke særlig sikkert program der ændrer filnavnene i
arbejdsmappen til at begynde med stort og ellers have små
bogstaver. det kan du brygge videre på.

Det baserer sig på at Windows er ligeglad med små og store
bogstaver, og det skifter status ved at lægge 32 til eller trække
det fra, men ingen af delene har med din funktionalitet at gøre.


#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <dir.h>

const char alfabet_store[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ";
const char alfabet_smaa[] = "abcdefghijklmnopqrstuvwxyzæøå";


struct ffblk *fblockp;
int fd; // File descriptor


int main () {
char kode;
int nr;
char filename[200], *p;

clrscr ();
fblockp=malloc (sizeof(struct ffblk));
kode=findfirst ("*.*",fblockp,0);
while (!kode) {
strcpy (filename,fblockp->ff_name);
p=filename;
if (strchr(alfabet_smaa,*p)) *p&=(255-32);
for (p=filename+1; *p; ++p) {
if (strchr(alfabet_store,*p)) *p|=32;
}
printf("%s\n",filename);
rename(filename,filename);
kode=findnext(fblockp);
}
return 0;
}

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste