SIARADWR 1: Gadewch i ni yn awr atgyweiria y rhaglen diwethaf. A'r tro hwn, gadewch i ni ddyrannu yn benodol rhywfaint o cof y mae'r bydd mewnbwn y defnyddiwr yn cael ei storio. I wneud hynny, gadewch i ni hogi i mewn ar y cyntaf llinell o cod lle rydym yn datgan s flaenorol i fod yn seren torgoch. Y tro hwn, gadewch i ni ail-mynegwch fel a ganlyn - braced 16 torgoch s, er enghraifft, braced agos. Mewn geiriau eraill, gadewch i ni ddatgan i ni fod yn gyfeiriad cymeriad hwy, ond yn hytrach amrywiaeth o 16 nod. Fel hyn, gall y defnyddiwr deipio mewn hyd at 15 cymeriadau ac yn dal i adael lle ar gyfer yn terminator null. Gadewch i ni symud ymlaen i Arbed, Llunio, a Run rhaglen hon. Gwneud scanf2 scanf2 dot slaes. Gadewch i ni yn awr deipio llinyn fel helo, ac rydym yn diolch am y helo. Yn awr, mae dal i fod yn broblem. Dim ond teipio helo, sydd ond pum cymeriad, yn ogystal â 1 ar gyfer y null terminator. Mae'n ein gadael gyda dim ond angen am chwe bytes. Ond yn anffodus, dim ond ddyrannu 16 i gyd. Felly, os bydd y defnyddiwr mewn gwirionedd mathau mewn 16 cymeriadau, neu 17, neu sawl cant cymeriadau, nid ydym yn dal yn mynd i cael digon o le er cof am y mewnbwn defnyddiwr. Ac yn wir, mae hyn yn beth sy'n gwneud cael mewnbwn defnyddwyr, felly anodd yn gyffredinol. Ac yn wir, dyma pam ein rhoi ar waith y swyddogaeth llinyn get yn y lle cyntaf yn y llyfrgell CS50 - at chyfrif i maes sut i drin y rhai sefyllfaoedd lle y mathau o ddefnyddwyr yn mwy cymeriadau nag yr ydym Rhagwelir yn y lle cyntaf. A dweud y gwir, heb yn gyfan gwbl ailysgrifennu rhaglen hon, does dim ateb yn lân. Yn hytrach, yr hyn byddai'n rhaid i ni ei wneud yw cael cymeriad o'r defnyddiwr un ar y amser, dro ar ôl tro. Ac ar bob pwynt os ydym yn sylweddoli ein bod yn allan o gof, byddai'n rhaid i ni yn y pwynt hwnnw yn mynd yn ôl i mewn ac ailddyrannu mwy o gof, copïwch y defnyddiwr mewnbwn blaenorol gan ein darn cyntaf o gof i mewn i'r newydd, cyfran fwy o gof. Ac yna ailadrodd y broses honno eto ac eto nes bod y defnyddiwr yn cael ei wneud yn darparu ei gyfraniad.