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++

CString-Funktionen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Der Trainer stellt Ihnen wichtige String-Funktionen vor und erläutert Ihnen die Beweggründe, diese zu verwenden. An dieser Stelle verweist der Trainer auch auf die Hilfe des Studios, um Ihnen einen Überblick der möglichen String-Funktionen zu geben.

Transkript

Nun, C-Strings sind ja ganz schön. Wir haben das hier als Character-Feld ja schon kennengelernt. "cara" ist so ein solcher C-String. Aber ich möchte damit natürlich auch etwas Sinnvolles tun, Zum Beispiel Einlesen von Daten. Da gibt es jetzt hier einen sehr schönen Befehl, wenn ich hier das mit der Wortergänzung durchgehe, der heißt "getline". Und als Parameter verlangt er jetzt nämlich einmal das Element hier, "cara" und dann die Länge. Jetzt könnte ich hier 100 schreiben, aber wesentlich eleganter ist es, wenn ich hier ein "sizeof cara" eingebe. So und jetzt wird die Zeile eingelesen. Und damit wir etwas sehen, gebe ich die jetzt anschließend mal wieder aus. Und wir machen hier noch einen Zeilenvorschub dahinter. Starte ich das Ganze einmal ohne Debug und wir schauen mal, was passiert. Erst einmal gar nichts, weil der wartet jetzt, "TEST". Ich kann jetzt hier irgendwas eintippen und dann gibt der genau diese Zeichenfolge wieder zurück. Nun gibt es jede Menge C-String-Befehle, mit denen man viel machen kann. In der Bibliothek ist das alles vorhanden. Zum Beispiel ein guter Befehl, den man häufig braucht, ist natürlich das Kopieren. "str-copy" ist jetzt der klassische Befehl, den sollte man eigentlich nicht mehr verwenden und ich zeige Ihnen nachher mal auch, wie der Neuere heißt. "cara", der ist so schön einfach. Von "ara" nach "ara 2". Er kopiert solange, bis er ein 0-Zeichen findet und darin besteht hier auch schon die Gefahr, denn was ist, wenn da kein 0-Zeichen ist und was ist, wenn das Feld im Ziel kleiner ist als das Ausgangsfeld? Dann gibt es natürlich Mist. Also jetzt machen wir es erst einmal so. Hier ist es noch recht harmlos und kopiert das ganz brav. Jetzt wird es einmal ausgegeben, direkt und einmal die Kopie ausgegeben. Das ist sehr schön, aber Sie sollten eigentlich den Befehl verwenden "str copy S", "security" und hier sieht man, der hat noch einen Parameter "Size in Bytes" und das sieht jetzt, wie folgt, aus. Ich schreibe jetzt hier die Buffer-Größe. Ich mache das mal direkt so hin. Und jetzt, damit man was sieht, werden wir jetzt das ganze System mal ein bisschen ärgern. Ich mache hier nämlich mal nur 10 Zeichen rein, so. Jetzt starten wir das mal ohne Debug und gucken, was passiert. Ich kann jetzt hier irgendwas eintippen. Bleiben wir mal unter den 10 Zeichen, da passiert uns gar nichts. Und jetzt starten wir ohne Debug nochmal und geben jetzt hier jede Menge Zeichen ein. Und hier kommt dann eine Fehlermeldung vom System, weil ich die Zeichenzahl vom Buffer überschritten habe. Also das ist eine Prüfung. Jetzt, wenn man von End-User erwartet, dass er in der Tat mal ein Zeichenfeld eingibt, was größer als 100 Zeichen ist und nicht gleich mit einer Schutzverletzung abbrechen möchte, dann sollte man ein "S T R N C P Y" verwenden. Das sieht auch wieder ähnlich aus. Hier wird am Schluss die Größe angegeben. Ich mache das mal so. "cara 2", dann machen wir hier "cara" und hier gebe ich auch die Zahl der Zeichen an. Ich muss aber jetzt hier ein Zeichen reservieren. Ich darf nur 9 geben. Das kommentiere ich Ihnen mal hier aus. Und jetzt muss ich noch etwas Wichtiges machen, sonst funktioniert das Ganze nämlich nicht vernünftig. Ich muss dafür sorgen, dass auf jeden Fall am Schluss, also 0 bis 9 läuft ja das Feld, ein Ende-Zeichen, das ist die binäre 0, steht. Nur dann funktioniert das Ganze, wenn ich etwas mehr als 10 Zeichen eingebe. Das ist der klassische Weg, wie man so etwas macht. Jetzt kann ich hier tippen, was ich will und das sind eben genau hier 1, 2, 3, 4, 5, 6, 7, 8, 9 Zeichen, nicht? Das zehnte Zeichen ist das Ende-Zeichen, das sieht man natürlich hier nicht. Also damit habe ich schon einmal eine Möglichkeit, Zeichen zu kopieren, mit "strn copy" oder mit "str copy S", je nachdem, was man eben entsprechend machen möchte. Eine von beiden, "strn copy", ist die schlechteste Alternative, die man da verwenden kann. Das ist ganz klar. Was jetzt auch noch interesssant ist, ist natürlich ein Vergleichsbefehl, so etwas wollen wir eigentlich mal einbauen. Wir machen mal hier "if str compare", also es gibt jede Menge von diesen Befehlen. Da müssen Sie sich in Ruhe mal, durch die Bibliothek durchkämpfen, über die Hilfe, was man hier alles machen kann. Jetzt machen wir hier mal "cara 2" von mir aus und ich kann jetzt hier "A B C" zum Beispiel hinschreiben und wenn das jetzt zutrifft, dann geben wir hier mal etwas aus. Auf die Art und Weise kann ich jetzt hier relativ elegant - Moment! - einen String auf einen anderen String abprüfen, auf Gleichheit. Die müssen völlig identisch sein in der Länge, auch im Inhalt und Groß-, Kleinschreibung, versteht sich. Schreiben wir hier "OK TREFFER" als Ergebnis. Nun müssen wir das Ganze mal ein bisschen starten und testen mal, was jetzt passiert. Ich gebe jetzt gleich mal "A B C" ein und da kommt jetzt nichts dabei raus. Haben wir jetzt hier doch wirkllich einen Fehler eingebaut? Ja natürlich, ich habe hier nämlich keine Abfrage gemacht. Und es ist so das der String-Compare und ich kann Ihnen jetzt gleich mal zeigen, wenn man da nicht weiter weiß, auswendig, was da rauskommt, da gibt man, das sind ja hier verschiedene Werte, hiervon kann nämlich, je nachdem ob die Abfrage kleiner, gleich oder größer ist, alphabetisch sortiert, versteht sich. Und ich suche jetzt mal nach der Hilfe. Das dauert etwas. Sie werden hier auch 0 abfragen müssen. Und nicht oft leicht, aber ich kann jetzt hier mal gucken. Da kommt man, wenn man mit "f1" das markiert, automatisch zu den verschiedenen String-Compare-Funktionen. Das ist die Funktion, die wir verwendet haben; es gibt noch andere. Für "white characters" gibt es das hier noch. und hier gibt es nochmal eine andere Art von größeren Zeichen, nämlich "unsigned characters", die kann man auch verwenden. So und hier steht es jetzt, was als Ergebnis rauskommt. Kleiner 0, wenn der String kleiner gleich, lexigrafisch verglichen, identisch kommt 0 und größer, ist entsprechend der Wert, wenn der String auch größer ist. So, schließen wir mal die Hilfe wieder, hier. Also das bedeutet, eins ist nicht OK. Das war ja im Prinzip, das was wir eigentlich wie bei "true" und "false" gedacht haben. Das sollte man aber immer explizit hinschreiben, solche Sachen. Und jetzt starte ich hier mal direkt. Wir probieren das mal aus. "A B C" und jetzt kommt "OK TREFFER" und damit man natürlich auch noch sieht, dass es nicht so ist, wenn ich hier etwas anderes eingebe, können wir das auch machen. Und Sie könnten jetzt hier auch noch die anderen Werte eingeben, dann kann man noch gucken, ob das größer oder kleiner ist, ob man da einen entsprechenden Treffer hat. So, was man hier noch machen kann, es gibt nämlich jede Menge dieser Befehle, zum Beispiel den Vergleich hatten wir, jetzt "drisdre", Suche von Strings in Strings und Auffüllen von Strings und jede Menge Sachen. Da rate ich Ihnen wirklich mal ein bisschen nachzulesen, weil, da gibt es sehr interessante Befehle. Das ist aber, wie gesagt, die klassische Zielbibliothek. Wir wollen uns aber dann noch ein bisschen mit der C++-Bibliothek beschäftigen, die eigenllich die klassische Bibliothek abgelöst hat.

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!