bmg4ever Geschrieben 3. März 2005 Geschrieben 3. März 2005 Hi Leute, und schon hab ich wieder das nächste problem... ich habe folgendes gemacht: zunächst hab ich den inhalt einer datei zeilenweise in ein mehrd. char array namens datei geladen. und nun gehe ich wie folgt vor: for (i=0; i<rows; i++) { if (strstr(datei[i], "net use")) { datei[i][0] = '\0'; } } [/PHP] ich durchsuche alle zeilen der datei nach dem vorkommen des substrings "net use". soweit funktioniert das ja auch. nun will ich aber diese Zeile ganz aus der datei löschen. also hab ich mir gedacht, dass ich einfach an den Anfang des Zeilenstrings ein String-Ende Zeichen setzte. allerdings sieht die ausgabe von [PHP] for (i=0; i<rows+2; i++) fputs(datei[i], autoex); dann in der entsprechenden Zeile so aus: ÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃ [/PHP] Wie kann ich die Zeile effektiv löschen? Und ja ich brauche das Array! Zitieren
carstenj Geschrieben 3. März 2005 Geschrieben 3. März 2005 Hallo, warum nicht einfach einen leeren String ("") zuweisen statt \0?! Warum benutzt du kein std::string? Benutzt du std::vector oder std::list? Zitieren
bmg4ever Geschrieben 3. März 2005 Autor Geschrieben 3. März 2005 komisch so wie du vorschlägst funzts: ----------------------------------- strcpy(datei, ""); ----------------------------------- aber ist ----------------------------------- datei[0] = '\0'; ----------------------------------- nicht normalerweise das gleiche!? ich benutz den guten alten char-pointer, denn schließlich verlangt fputs den als parameter und nicht irgendeinen string. Zitieren
bmg4ever Geschrieben 3. März 2005 Autor Geschrieben 3. März 2005 lol nach nem rechnerneustart geht jetzt auch datei[0] = '\0'; Zitieren
Klotzkopp Geschrieben 3. März 2005 Geschrieben 3. März 2005 ich benutz den guten alten char-pointer, denn schließlich verlangt fputs den als parameter und nicht irgendeinen string.Mal davon abgesehen, dass du einen std::string ganz einfach in einen Zeiger auf const char umwandeln kannst: Warum benutzt du fputs? Zitieren
bmg4ever Geschrieben 3. März 2005 Autor Geschrieben 3. März 2005 warum denn nicht? lass mich raten: das ist kein c++!? sondern ansi-C standard. ich bin halt noch blutiger anfänger und jede korrektur ist willkommen. was also hätte ich benutzen sollen? Zitieren
carstenj Geschrieben 3. März 2005 Geschrieben 3. März 2005 Hi, der Ansi C Standard ist weitesgehend kompatibel zu ISO C++, also kannst du unter C++ so gut wie jede C Funktion benutzen. Manchmal macht das sogar Sinn, unter Performancegesichtspunkten. Nur das Benutzen von Streams ist imho einfacher, gerade für Anfänger: http://www.cppreference.com/cppio/constructors.html Vector und String sind deshalb einfacher zu handeln, weil man sich nicht um Speicherreservierung und -freigabe kümmern muss. Gerade Anfänger stolpern oft über new und delete, und diese Dinge übernehmen vector und string automatisch. Mit der Memberfunktion c_str() erhälst du einen const char*, den du überall dort verwenden kannst, wo keine strings akzeptiert werden. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.