dirstream
-
Hy,
hab mich gerade mal an dirstream rangemacht finds auch so ganz gut nur wie muss ich folgenden code verändern damit er mir nur alle *.mp3 dateien ausgibt:Str.open(".", true);
if (Str.is_open())
{
int Count = 0;
for (string Run; Str >> Run ; Count++)
cout << Run << endl;
cout << "\n" << Count << " Einträge gefunden." << endl;
}
cout << endl;Thx schonmal im vorraus
-
Hallo,
von was für einem dirstream redest du? Standard-C++ kennt sowas nicht.Falls du zufällig den dirstream meinst, den ich auf meiner Webseite beschreibe. Dort gibt es eine FileSelctor-Klasse. Von der musst du ein Objekt anlegen und dieses dem dirstream übergeben:
DirStream_t<FileSelector> Str(".", true, FileSelector("*.mp3")); int Count = 0; for (string Run; Str >> Run ; ++Count) cout << Run << endl; cout << "\n" << Count << " Einträge gefunden." << endl;
-
jup genau den meien ich super klasse wie shcnell man hier ne antwort bekommt
Bin ja noch Anfgänger
-
Hab abe rnoch ne Frage ich habe jetzt das:
FILE *fp = fopen(Run, "r");
in die for schleife geschreiben, warum gibt der mir dan folgenden fehler aus und wie kann ich ihn beheben?
fopen' : Konvertierung des Parameters 1 von 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' in 'const char *' nicht moeglich
Kein benutzerdefinierter Konvertierungsoperator verfuegbar, der diese Konvertierung durchfuehren kann, oder der Operator kann nicht aufgerufen werden
-
schau dir mal die doku zu fopen an.
fopen erwartet einen char* und du gibts ihm einen string - das kann ja nicht klappen.gib ihm doch einfach einen char* ->
run.c_str()
-
Was ist den bitte an dieser Fehlermeldung unverständlich?
schau dir mal die deklaration von fopen an und dann denke nach, was du übergibst. Dann schlage in deinen lieblings C++ Buch die Klasse basic_string nach und such dir die Funktion std::basic_string<charT,Traits,Alloc>::c_str()
(oder schau hier http://www.sgi.com/tech/stl/basic_string.html )
-
ja ich bin strohdumm in php war alles viel einfacher *G*
-
wenn jetzt noch jemand weiß warum bei mir rename überhaupt nicht funktioniert auch wnen ichs per hand eintippe dan bin ich glücklich - liegt nicht zufällig an WinXp oder?
-
kann es sein das du die datei noch öffen hast?
-
glaub habs jetzt doch gelöst ::)
nur wie bekomme ich aus:
"Debug\mp3\test.mp3"
das "test.mp3" durch "neu.mp3" ersezt weobei test.mp3 ja variable ist.
[ Dieser Beitrag wurde am 13.04.2003 um 15:37 Uhr von mistro editiert. ]
-
ok ist alles gelöst nahc viel probieren ^^
nur ich hab nen fehler im dirstream gefunden, sobald dateinamen punkte enthalten, werden sie nicht mer in der suche nach bestimmten dateiendungen angezeigt!