Sprecher 1: Lassen Sie uns nun fix dass im letzten Programm. Und dieses Mal wollen wir explizit zuordnen einige Speicher, in dem die Eingabe des Benutzers gespeichert werden. Um dies zu tun, wollen wir schärfen an diesem ersten Codezeile, wo wir erklärt s zuvor auf ein char Stern. Dieses Mal wollen wir wieder erklären es wie folgt - char s Klammer 16, zum Beispiel, Klammer zu. In anderen Worten, wir erklären s kein eine Adresse eines Zeichen länger sein, sondern ein Array von 16 Zeichen. Auf diese Weise können die Benutzer in bis zu 15 Charaktere und noch Raum für ein Null-Terminator. Lassen Sie uns gehen Sie zu Speichern, Kompilieren, und Ausführen dieses Programms. Machen scanf2 dot Strich scanf2. Lassen Sie uns nun eine Zeichenfolge wie hallo, und wir sind für die hallo dankte. Nun, es gibt noch ein Problem. Ich habe nur in hallo eingegeben haben, was nur fünf Zeichen, plus 1 für die Null Terminator. Es bleibt uns nur eine Notwendigkeit für sechs Bytes. Aber leider nur wir zugeteilt insgesamt 16. Also, wenn der Benutzer tatsächlich in 16 Arten Zeichen oder 17 oder mehrere hundert Zeichen, wir sind immer noch nicht zu genug Platz im Speicher für die Benutzereingabe. Und in der Tat, das ist, was macht Benutzereingaben immer so schwierig im Allgemeinen. Und in der Tat, das ist, warum wir umgesetzt die get-String-Funktion in der ersten Platz in der CS50-Bibliothek - um herauszufinden, wie man diese umgehen Situationen, in denen der Benutzer in mehr Zeichen, als wir zunächst erwartet. Ehrlich gesagt, ohne sie komplett Umschreiben dieses Programm, es gibt keine saubere Lösung. Vielmehr, was wir tun müssen, ist erhalten eine Figur aus dem Benutzer eine an ein Zeit, wieder und wieder. Und an jedem Punkt, wenn wir erkennen, wir sind aus der Erinnerung, wir haben zu Punkt zurück, dass in und umverteilen einige mehr Speicher, kopieren Sie die Benutzer- vorherige Eingabe von unserem ersten Stück der Speicher in der neuen, größeren Teil des Speichers. Und dann wiederholen Sie diesen Prozess wieder und wieder, bis der Benutzer fertig ist die Bereitstellung seine Eingabe.