edit: eine frage. hat c++ da eine bessere lösung zu. also strings dynamisch in der länge einlesen? The post was edited 1 time, last by Qualmi ( Sep 21st 2009, 1:13pm). 9 hallo, soweit ich weiß verwendet man unter c++ dafür die klasse string mit der man string objekte erzeugen kann die strings in dynamischer länge halten können. siehst du hier: Link thx, truespin » C, C++ & Objective-C »
ich sehe nun dass es nicht sehr effizient ist pro zeichen einen pointer anzulegen der auf das nächste zeichen zeigt. das kostet natürlich speicherplatz. andererseits würde jedesmal ein array zu deklarieren, dass ca 50000 indizes hat auch beträchtlich ins gewicht fallen. zu der geschwindigkeit bzw. ausführungszeit kann ich leider nichts sagen, da ich nicht weiss ob der zugriff auf ein array, angefangen von 0 bis n (chronologische abarbeitung der zeichen) oder ob sich das durchhangeln durch eine verkettete liste als schneller erweist. aber ich glaube von den verketteten liste lass ich erstmal ab. wenn ich mir dass so hochrechne, also nur den platzverbrauch der pointer pro zeichen, dann würde ich bei sagen wir mal 1000 zeichen ungefähr auf 4000byte kommen. String einlesen c.s. hwierig, aber das ist bestimmt nicht effektiv. und wenn ich einen ganzen aufsatz mit ca 100000 zeichen einlesen will (denn sowas in der art hab ich vor), dann ergäbe sich ein speicherverbrauch von ~ 400000byte. das ist eindeutig zuviel.
wie kann ich aber prüfen wann die eingabe zuende ist, um die schleife abzubrechen? Newbie001 schrieb: ich vermute, getline liest eine zeile, bis zum zeilenumbruch oder? Das ist der dritte Parameter von std::getline, welcher standardmässig '\n' ist. Und um alles in einen String zu schreiben: std::string Alles; while(! ()) char CurrChar; std::cin >> CurrChar; Alles. push_back(CurrChar);} Du mußt mit dem Verwender des Programms ein Kennzeichen vereinbaren, wann die Eingabe beendet ist (z. B. eine Zeile ohne Inhalt). Ob der Nutzer die Eingabe beendet hat, kannst du dann an diesem Kennzeichen festhalten: string text = ""; string zeile; while(getline(cin, zeile) && zeile! String einlesen mit getline | C++ Community. ="") (zeile+'\n');} Eine radikale Lösung wäre Strg+Z als Eingabe-Ende, aber dann kannst du hinterher nichts mehr eingeben lassen. Ja, das ist der Zweck von getline. wenn ich also alle zeilen in einem string haben möchte müsste ich doch nur immer wieder getline aufrufen, und das eingelesene aneinander hängen, oder? Das wäre eine Möglichkeit, aber warum dann überhaupt zeilenweise einlesen und nicht alles in einem Rutsch?
This topic has been deleted. Only users with topic management privileges can see it. Hallo zusammen,
ich moechte einen String mit getline einlesen und in einer string variable speichern. funktioniert so weit auch. allerdings kann ich bei der eingabe dann in der konsole nur eine bestimmte anzahl zeichen eingeben, wenn mein text zu lang ist geht es also nicht. kennt jemand eine lösung für das problem? Danke schonmal. Sofern du nicht mehrere Milliarden Zeichen eingibst, kann das nicht sein. String einlesen c pro. Oder du meinst mit "String" keinen std::string sondern ein char-Array. Zeig mal Code. Normalerweise macht man das so:
#include
Konditorei Restaurant Café Martin-Luther-Platz 32 Eingang Blumenstraße Tel. : +49 (0)211 – 132 535 Fax: +49 (0)211 – 322 308 Öffnungszeiten: Mo – Fr: 9:00 bis 18:30 Uhr Sa: 9:00 bis 18:00 Uhr So. u. Feiertag: 10:00 bis 18:00 Uhr Blick ins Geschäft Facebook Google Konditorei Restaurant Café Bahnstraße 16 Ecke Kö Tel. : +49 (0)211 – 131 350 Fax: +49 (0)211 – 322 318 Öffnungszeiten Mo – Fr: 09:00 bis 18:30 Uhr Sa: 9:00 bis 18:00 Uhr So. Feiertag: 10:00 bis 18:00 Uhr Blick ins Geschäft Facebook Google Confiserie Königsallee 1 In der Galeria Kaufhof Konditorei Confiserie Rethelstraße 153 Tel. : +49 (0)211 – 583 717 9 Fax: +49 (0)211 – 583 718 1 Öffnungszeiten: Mo – Fr: 9:00 bis 18:30 Uhr Sa 9:00 bis 17:00 Uhr So. Feiertag: 10:00 bis 17:00 Uhr Konditorei Confiserie Luegallee 47 Tel. : +49 (0)211- 598 2731 Öffnungszeiten: Mo – Fr: 9:00 bis 18:30 Uhr Sa 9:00 bis 17:00 Uhr So. Bahnstraße 16 dusseldorf. Feiertag: 10:00 bis 17:00 Uhr Konditorei Restaurant Café Bismarckstraße 91 Tel. : +49 (0)2161 - 170 31 Fax: +49 (0)2161 - 205 163 Öffnungszeiten Mo – Fr: 09:30 bis 18:30 Uhr Sa 9:00 bis 18:00 Uhr So.
Stammkapital: *. Allgemeine Vertretungsregelung: Ist nur ein Geschäftsführer bestellt, so vertritt er die Gesellschaft allein. Sind mehrere Geschäftsführer bestellt, so wird die Gesellschaft durch zwei Geschäftsführer oder durch einen Geschäftsführer gemeinsam mit einem Prokuristen vertreten. Jedem Geschäftsführer kann Einzelvertretungsbefugnis und/oder Befreiung von den Beschränkungen des § * BGB erteilt werden. Geschäftsführer: Borchers, Hartmut, Hannover, **. Segbers, Klaus, Velen, **. Siemes, Andreas, Willich, **. *, jeweils einzelvertretungsberechtigt mit der Befugnis im Namen der Gesellschaft mit sich im eigenen Namen oder als Vertreter eines Dritten Rechtsgeschäfte abzuschließen. Sign up to a plan to see the full content View All Announcements Country Germany Court DE/Düsseldorf Incorporated 2016-06-03 Type of Business Gesellschaft mit beschränkter Haftung Share Capital 25. DÜSSELDORFER BETTENHAUS - Ihr Bettenfachhändler in Düsseldorf. 000, 00 Age Of Company 5 years 0-2 3-5 6-20 21-50 51+ years Company Description BankingGuide GmbH BankingGuide GmbH is a Gesellschaft mit beschränkter Haftung registered in Germany with the Company reg no HRB77798 DÜSSELDORF.
Nicht mehr Geschäftsführer: Dr. Segbers, Klaus, Velen, **. *; Dr. Siemes, Andreas Karl, Willich, **. Bestellt als Geschäftsführer: Liemann, Dennis, Gescher, **. *; Schneider, Ralf, Rosbach v. d. Oralchirurgen Düsseldorf - Kontakt. Höhe, **. *. 2019-11-25 Modification BankingGuide GmbH HRB *: BMS MMM BankingGuide GmbH, Düsseldorf, Bahnstraße *, * Düsseldorf. * hat eine Änderung des Gesellschaftsvertrages in § * Abs. * und damit der Firma beschlossen. Neue Firma: BankingGuide GmbH. Änderung zur Geschäftsanschrift: Fürstenwall *, * Düsseldorf. Nicht mehr Geschäftsführer: Borchers, Hartmut, Hannover, **. Die Gesellschaft hat nach Maßgabe des Spaltungsplanes vom *.