toffyrn Skrevet 19. september 2006 Del Skrevet 19. september 2006 (endret) Jeg tenkte å skrive et program som skrev alle .mp3 filer i en mappe til en .m3u fil. Men finner ingen funksjoner for å liste mappeinnhold i C++ biblioteket! Bruker visual studio 2005. Hvordan leser man mappeinnhold? Endret 19. september 2006 av toffyrn Lenke til kommentar
lnostdal Skrevet 19. september 2006 Del Skrevet 19. september 2006 Jeg bruker http://developer.gnome.org/doc/API/2.0/gli...-Utilities.html til slike ting. (siden dette er GTK ender du opp med kode som fungerer på flere platformer enn Windows; så det er jo en fordel) Lenke til kommentar
toffyrn Skrevet 19. september 2006 Forfatter Del Skrevet 19. september 2006 har lastet ned: glib-dev-2.12.3.zip Men hvordan installerer jeg og får denne til å funke med vs2005? Lenke til kommentar
lnostdal Skrevet 20. september 2006 Del Skrevet 20. september 2006 Jeg bruker ikke VS2005, så det vet jeg desverre ikke. Noen andre? Lenke til kommentar
kjetil7 Skrevet 21. september 2006 Del Skrevet 21. september 2006 (endret) #include <iostream> // win32 #include <windows.h> #include <tchar.h> // glib #include <glib.h> // linker glib (kan også gjøres i prosjektoppsettet) // (husk å ha libglib-2.0-0.dll tilgjengelig) #pragma comment(lib, "glib-2.0.lib") // vi definerer tcout for bruk med TCHAR // (TCHAR er wchar_t når UNICODE er definert, ellers char) #if defined(UNICODE) #define tcout std::wcout #else #define tcout std::cout #endif // win32 implementasjon void findfile_win32() { WIN32_FIND_DATA fd; HANDLE findHandle = FindFirstFile(_T("c:\\*.*"), &fd ); if(findHandle != INVALID_HANDLE_VALUE) { do { // du kan bruke fd til å sjekke hva slags // filobjekt som er funnet. eks: // if(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { } tcout << fd.cFileName << std::endl; } while(FindNextFile(findHandle, &fd)); } CloseHandle(findHandle); } // glib implementasjon void findfile_glib() { GDir* dir = g_dir_open("c:\\", 0, 0); if(dir) { while(const gchar* fname = g_dir_read_name(dir) ) { // før du skriver ut strengen må du strengt tatt // konvertere den fra UTF-8. std::cout << fname << std::endl; } } g_dir_close(dir); } int main() { findfile_win32(); tcout << _T("\n\n----------------\n\n"); findfile_glib(); tcout << std::flush; } Endret 21. september 2006 av kjetil7 Lenke til kommentar
Klette Skrevet 21. september 2006 Del Skrevet 21. september 2006 Hadde det ikke vært bedre å løse dette i python eller et annet skikkelige høynivåspråk? Ikke bruk c++ med mindre du må sier jeg Lenke til kommentar
lnostdal Skrevet 21. september 2006 Del Skrevet 21. september 2006 Jupp, til oppgaver som dette finnes det en drøss alternativer som er 100 ganger bedre. :} Lenke til kommentar
Giddion Skrevet 22. september 2006 Del Skrevet 22. september 2006 Jeg vet ikke hva trådstarter har i tankene, men det er jo mulig han vil lage et enkelt program for å lære. Det finnes jo sikkert 1000er av språk som det er enklere å lage "hello world" i enn c. Lenke til kommentar
toffyrn Skrevet 22. september 2006 Forfatter Del Skrevet 22. september 2006 Jeg vet ikke hva trådstarter har i tankene, men det er jo mulig han vil lage et enkelt program for å lære. Det finnes jo sikkert 1000er av språk som det er enklere å lage "hello world" i enn c. 6913865[/snapback] Er vel mesteparten for å lære ja.... Har lite peiling egentlig... (noen som anbefaler noen bøker?) Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå