Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

C++

String-Arrays

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
In diesem Film stellt der Trainer die "alten" char-Arrays den modernen CPP-Bibliotheken gegenüber. Erkennen Sie die einfachere Schreibweise und wie sicher es ist, diese Funktionen zu verwenden.

Transkript

So, ich will Ihnen jetzt nochmal zeigen, wie man mit Arrays von Strings umgeht. Machen wir erst mal mit cstrings, hier oben habe ich diverse includes schon string, cstring und iostream brauchen wir eigentlich immer. Hier definiere ich mir jetzt mal ein Feld: string, Klammer auf, 5 Elemente bedeutet also von 0 bis 4, habe ich jetzt einen Array von Strings. Das sind C-Strings, C++ Strings. Dann muss ich immer aufpassen, das verwechselt man immer gerne, die initialisiere ich erst mal, über getline hole ich mir die Werte rein, und dann gebe ich sie anschließend wieder aus sara von i greift direkt auf das Element zu. Starten ohne Debug, probieren wir das Ganze mal, hier habe ich ausgegeben, welchen Wert da haben möchte - hallo_eins, mache das jetzt aber hier nicht so schön für die anderen Zeilen, tippe da jetzt irgendwas ein. Das ist alles dynamisch. Da braucht man sich um die Länge nicht kümmern, 5 Elemente haben wir eingelesen, 5 Strings werden hier unten dann gleich wieder ausgegeben. So, jetzt schauen wir uns den zweiten Block an. Da werden jetzt C-Strings verwendet, also die klassische Variante sozusagen. Das braucht man sehr häufig, erst mal in dem Buffer, den braucht man im Zwischenspeicher in der Zeileneingabe. Und das ist jetzt diese raffinierte Konstruktion: char **cpptr, da habe ich mir nicht vertippt, das sind zwei Sterne. Der erste bedeutet einen Pointer auf einen Charakter, und zweite ist ein Pointer auf Pointer auf einen Charakter. Damit habe ich nämlich ein Feld von Feldern definiert von Charaktern, also, ein Feld von Feldern, die aus Charaktern bestehen. Und wie lege ich das Ganze jetzt an, wie komme ich daran? Das ist ganz einfach. Ich muss als Erstes mal das Feld initialisieren, wir wollen 5 Elemente, wie wir hier oben haben, also ein char **, das muss ich hier natürlich genauso eingeben, im alloc 5 Elemente von der Größe eines Charakterpointers. Hier werden also Charakterpointer abgelegt. und jetzt kann ich zur Initialisierung schreiben, und da was reinschreiben. Ich gebe hier wieder auf der Konsolle aus, wir lesen das erst mal den temporären Buffer ein, maximal 1024 Zeichen. Da muss man sich einmal überlegen, bevor man dann macht, aber hier kommt es jetzt das tricky Teil. Ich weie jetzt in das Feld, das äußere Feld sozusagen, habe ich schon zugewiesen, da Speicher drin für Pointer, und da schreibe ich jetzt die Pointer mit cpptr von i rein, und zwar die ich jetzt hier auch noch anlegen muss, nämlich für die Strings, die dahin kommen. strlen (buffer) + 1, das kennen wir schon, dann kann ich das ganze Paragraph dahin kopieren. Hier kann ich es dann einfach ausgeben, das sieht jetzt schon wieder ganz harmlos aus, und beim Freigeben muss man ein bisschen aufpassen. Erst müssen die Pointer, die man hier zuletzt reingeschrieben hat, freigegeben werden. Und dann kann ich erst das Pointerfeld selber freigeben, was 5 Elemente hat, und die Felder jeweils innen sind unterschiedlich groß. Also, ein bisschen tricky, da muss man immer sehr aufpassen, wenn man mit solchen Pointern arbeitet, die, man deutlich sieht, damit schon kommt trotz des Kopieren und Vorbereiten noch was Fertiges. Das ist natürlich saublöd, wenn man den nirgendwo definiert hat. Das werden wir aber gleich nachholen, und zwar kommt es einfach daher, dass das hier, na jetzt kann ich die nicht mal kopieren, ctrl+C, ctrl+V das sieht, dass ich hier falsch kopiert hatte. So, jetzt kopiere ich mal das nochmal ein, und jetzt muss ich natürlich erst mal nochmal oberes Feld eingeben, passiert nichts weiter, und jetzt gebe ich das unter Feld ein, so, machen wir bisschen was Größeres, sehen hier auch 5 Elemente, also 0 bis 4, und hier unten werden sie brav ausgegeben, das läuft also durch, ich sage, das ist so etwas, der etwas aufwändigere Teil hier, den man braucht, um ein Feld von Feldern anzulegen entprechend für Charakter, für Strings. Bei den C++ Strigns ist es ein bisschen einfacher, aber die Struktur hier unten braucht man auch häufiger, wenn man nicht grad Charakters hat, long Werte oder gar da eine Struktur, und dann kann man mit diesem Schema auch immer sehr elegant machen.

C++

Machen Sie sich mit den einfachen Grundlagen zu C++ vertraut und lernen Sie anhand zahlreicher Übungs- und Codebeispiele die Klassenkonzepte, Prozeduren und Funktionen kennen.

9 Std. 3 min (143 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Video-Training auf DVD mit Bonusmagazin

+ Tutorial to go: Mit Videos für iPod, iPhone & Co.

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!