Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Strings anhängen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
15.03.2006, 08:08 Uhr
-Biohazard-



Hallo Leute,
mal wieder ein Problem in der großen C++-Welt. Also es geht um Folgendes:
Ich würde gerne aus 2 Dateien lesen und angeben, welche Zeilen unterschiedlich sind. Dazu probiere ich erstmal in einer Schleife, alle Zeichen an einen String anzuhängen, jedoch will das Programm nicht.
Mein Code sieht wiefolgt aus:


Code:
ifstream stream;
string string1, string2;
stream.open( "Test.txt", ios_base::in );
  while(!Test.eof())
  {
    getline (stream, string1);
    strcat(string1, string2);
  }



Ich kenne zwar den Fehler, jedoch weiß ich nicht, wie ich ihn beheben kann. Hier möchte ich mit der Funktion strcat einen String (string1) an den anderen hängen (string2), da - ohne strcat - string1 in der Schleife immer wieder überschrieben werden würde. Leider brauche ich für die Funktion strcat einen char-Array, aber würde ich hier einen benutzen, wäre die Funktion getline sinnlos. Und mit der Funktion stream.get könnte ich nur Zeichen, keine char-Arrays, aus dem Stream holen.
Gibt es also vielleicht einen einfacheren Weg, string1 an string2 anzuhängen, sodass am Ende string2 den ganzen Inhalt der Test.txt beinhaltet?
Vielen Dank,

-Biohazard-

PS: Vielleicht wäre es besser, das Programm mit chars zu schreiben, da ich später die Funktion strspn noch brauchen werden
--

Dieser Post wurde am 15.03.2006 um 08:13 Uhr von -Biohazard- editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
15.03.2006, 09:14 Uhr
virtual
Sexiest Bit alive
(Operator)



C++:
ifstream stream;
string dateiinhalt, zeile;
stream.open( "Test.txt", ios_base::in );
  while(!Test.eof())
  {
    getline (stream, zeile);
    dateiinhalt += zeile + "\n"
  }


Kommt dem, was du machst am nächsten.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
15.03.2006, 09:49 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
15.03.2006, 13:32 Uhr
-Biohazard-



Danke
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
15.03.2006, 14:40 Uhr
tobZel



wenn du 2 string objekte oder ein string-objekt und en char array dann kannst einfach wie gewohnt + += und so verwenden brauchst keine funktion (das ist das schöne an überladeten operatoren!)
--
Wer länger lebt stirb früher...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: