[ Mix5 @ 02.08.2006. 12:32 ] @
Code:

#include <stdio.h>

main()
{
    int  r;
    char staro_ime[] = "D0D70BE8EF_0529.Kazaa.mp3"
    char novo_ime[] = "Novo ime.mp3";

    r = rename( staro_ime, novo_ime);
    if ( r != 0 )
        printf( "Greska! '%s'\n", staro_ime );
    else
        printf( "Fajl '%s' je preimenovan u '%s'\n", staro_ime, novo_ime);
}


Moze li neko da mi objasni kako da se pozicioniram na neki direktorijum? Posle bi trebalo da dohvatim ime svakog fajla i promenim mu ime.
[ Nibble @ 02.08.2006. 15:24 ] @
Code:

#include <stdio.h>
#include <windows.h>

int main()
{
    int  r;
    char staro_ime[] = "notepad.exe";
    char novo_ime[] = "racq.exe";

    SetCurrentDirectory("C:\\");

    r = rename( staro_ime, novo_ime);
    if ( r != 0 )
        printf( "Greska! '%s'\n", staro_ime );
    else
        printf( "Fajl '%s' je preimenovan u '%s'\n", staro_ime, novo_ime);

  return 0;
}


[ Mix5 @ 02.08.2006. 15:49 ] @
Ok, ali meni treba neka funkcija koja ce za svaki fajl u tom direktorijumu da vrati njegovo ime kako bi mogao da ih preimenujem. Ovde sam bezveze stavio da vec imam ime fajla.I jos nesto, jel je "SetCurrentDirectory()" definisana u windows.h ?
[ Mix5 @ 03.08.2006. 12:27 ] @
Nije valjda da niko nezna.
[ Nibble @ 03.08.2006. 16:55 ] @
Nekontam sta hoces?Jel hoces funkciju koja ce da izlista sve fajlove u nekom dir-u?
Api funkcija SetCurrentDirectory() je definisana u windows.h.
[ Mix5 @ 04.08.2006. 01:20 ] @
Citat:
Nibble: Nekontam sta hoces?Jel hoces funkciju koja ce da izlista sve fajlove u nekom dir-u?


Ako npr. u nekom dir-u imam fajlove

123123123.mp3
121333344.mp3
534534vvd.mp3
534fsf34f4.mp3

treba mi funkcija koja ce da ide redom od prvog do zadnjeg fajla u dir-u i vraca mi ime po ime da bi mogao da ih otvorim. Kad ih otvorim hocu da procitam sta se nalazi u ID3 tag-u fajla i preimenujem fajl u to ime.
[ Nibble @ 05.08.2006. 20:20 ] @
Evo ti kod koji lista fajlove i foldere.
Nemoj zamjeriti ako naidjes na nekakvu gresku posto sam ga prepravio jer sam ga koristio u jednom progiu.
Ostalo ne znam pa valjda ce ti ovo biti od pomoci.
Pozdrav

Code:

#include <windows.h>
#include <stdio.h>

int Listaj(char *dir)
{
 int count = 0;
 int count2 = 0;    

 HANDLE Hnd;
 WIN32_FIND_DATA WFD;

  printf("Listam %s\n",dir);

  Hnd = FindFirstFile(dir, &WFD);

  while(FindNextFile(Hnd, &WFD))
  {
   if ((WFD.dwFileAttributes) &&  (strcmp(WFD.cFileName, "..") && strcmp(WFD.cFileName, ".")))
   {
    if(WFD.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) 
    {
     count2++;
     printf("<%s>",WFD.cFileName);
    }
    else 
    {
     count++;
     printf("%s\n",WFD.cFileName);
    }
   }
  }
  FindClose(Hnd);
  printf("Pronadjeno: %i fajlova i %i foldera",count,count2);
 return 0;
}

int main()
{
 Listaj("C:\\*.*"); //listaj svaki fajl
 return 0;
}
[ Mix5 @ 06.08.2006. 18:20 ] @
Koristice ovo meni u svakom slucaju ali kazi mi sta vracaju vunkcije FindFirstFile i FindNextFile.
Sta radi funkcija FindClose ?
Sta su HANDLE Hnd i WIN32_FIND_DATA WFD ?
Sta je:

1) WFD.dwFileAttributes
2) WFD.cFileName

Sta je FILE_ATTRIBUTE_DIRECTORY ?

Sta dobijas uporedjivanjem (strcmp(WFD.cFileName, "..") i strcmp(WFD.cFileName, ".") ?

Primetio sam da ti funkcija ne ispisuje nista za prvi fajl ili dir, i ako sam dobro skontao, WIN32_FIND_DATA je neka struktura. Jel ona ima samo ova dva polja ili jos neka ?

Pozdrav
[ radoica @ 06.08.2006. 20:39 ] @
Nemoj da ocekujes da ti neko odgovara na ovakva pitanja posto za to vec postoji dokumentacija na netu tj. na MSDN
Znaci pravac http://msdn.microsoft.com/library/
Evo ipak mala pomoc za prvu funkciju FindFirstFile
http://msdn.microsoft.com/libr...us/fileio/fs/findfirstfile.asp
na dnu ove stranice imas linkove za ostale funkcije i strukture
[ Tiristor @ 08.08.2006. 09:14 ] @
Jedno malo pitanje gde se nalazi biblioteka windows.h, jer je ja u svom tc-u nemam.
Koji bi C trebalo da koristim da ima, ili postoji neki drugi nacin da je ubacim?
[ Nibble @ 08.08.2006. 12:14 ] @
TC je zastario i sto se tice windows programiranja on je beskoristan.Skini devc++ ili PellesC(oba su besplatna).
[ Tiristor @ 08.08.2006. 15:09 ] @
Hvala evo idem da ih skinem.
[ Tiristor @ 08.08.2006. 16:06 ] @
Evo skinuo sam dev-c++ verziju 4.9.9.2 i odmah mi se javio problem. Uzeo sam jedan prost program koji sam pre kucao u obicnom c-u i tu nije prikazivao nikakve greske, ali sad kad sm ga otvorio pomocu ovog prikazuje mi ovu gresku:
evo kompletno sta mi prikazuje kad ga kompajliram
Code:

Compiler: Default compiler
Building Makefile: "C:\Dev-Cpp\Makefile.win"
Executing  make clean
rm -f main.o  Project1.exe
g++.exe -c main.cpp -o main.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include"  -I"C:/Dev-Cpp/include/c++/3.4.2/backward"  -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32"  -I"C:/Dev-Cpp/include/c++/3.4.2"  -I"C:/Dev-Cpp/include"   
g++.exe main.o  -o "Project1.exe" -L"C:/Dev-Cpp/lib" -mwindows  
C:/Dev-Cpp/lib/libmingw32.a(main.o)(.text+0x106):main.c: undefined reference to `WinMain@16'
collect2: ld returned 1 exit status
make.exe: *** [Project1.exe] Error 1
Execution terminated

[ Burgos @ 08.08.2006. 16:43 ] @
Verovatno zato sto nisi napravio projekat kao Console app, nego kao Win32 app. Pisem napamet, nemam pri ruci DevCpp.