schreiben/auslesen
-
hallo ihr C++ Profis

ich habe mal eine Frage..ich habe zuerst gefundene Datensätze in eine Datei geschrieben..und zwar so..
Form2->Caption=pfad; TSearchRec sr; pfad += "\\"; if (FindFirst(pfad + "*", faAnyFile, sr) == 0) { do { if ((sr.Name != ".")&&(sr.Name != "..")) { if ((sr.Attr & faDirectory) != 0) { //ofs << ( pfad + sr.Name + (AnsiString)(int)sr.Attr).c_str() << std::endl; suche(pfad+sr.Name, ofs); } else { ofs << ( pfad + sr.Name ).c_str() << std::endl; } } } while (FindNext(sr) == 0); FindClose(sr); }nun will ich es umgekehrt nocheinmal machen..
Aus den gespeicherten Dateien bestimmte Sachen raussuchen..
gesucht wird über ein Eingabefeld..AnsiString datei = Edit1->Text; AnsiString asSearchPath = "d:\\"; AnsiString asFileName = "*.txt"; if (!Edit1->Text.IsEmpty()) { TSearchRec sr; int iAttributes = 0; iAttributes |= faAnyFile; if (FindFirst(asSearchPath + asFileName, iAttributes, sr) == 0) { do { if ((sr.Attr & iAttributes) == sr.Attr) { AnsiString FileName = asSearchPath + sr.Name; ListBox2->Items->LoadFromFile(datei); } } while (FindNext(sr) == 0); FindClose(sr); } }ich weiss bei der suche ist noch einiges falsch...
nun meine frage..
beim schreiben verwende ichofs << ( pfad + sr.Name ).c_str() << std::endl;reicht es die << einfach umzudrehen??(>>) bis jetzt ging das so noch nicht...
natürlich habe ich die variablen angepasst..doch geht nicht..müsste doch aber eigentlich oder??ich weiss sonst nicht wie ich die auslese umsetzen soll..
wäre dankbar für einen tipp
mfg piepsy
-
du willst eine datei durchsuchen? das geht nicht mit FindFirst, denn das durchsucht nur verzeichnisse. lade die datei in eine stringliste und vergleiche zeilenweise den inhalt mit dem suchstring.
-
oh falsch gedacht..
okay dankeschön ^^