HIZLARIA 1: Dezagun idazteko programa bat da kate bat jasotzen du erabiltzaileak gabe CS50 Library en erabiliz GetString funtzionatu. Horretarako, aurretik joan beharko dugu eta erabili scanf, funtzioa GetString du funtzioa benetan erabiltzen kanpaia azpian. Baina nik hau nahita egin dut buggy modu batean. Dela uste dut, modu batean egin dut eskubidea izango litzateke, baina bihurtzen da nire hipotesi Honez joan nahiko, nahiko zuzena izan. Eta hain zuzen ere, oso arriskutsua. Delako bat naiz zorian dut atsegin bugs egin beharreko aurkariek ustiatu ahal hala nola, zure makina edo zure programa hartu ahal baino gehiago izan daitezkeen. Dezagun honela hasten. Lehenengo dezagun aldarrikatu gure katea, bestela, gaur egun ezagutzen char izar baten gisa, eta deitu s. Lets ondoan kate erabiltzaileari galdetuko, gertatzen den moduan "katea mesedez." Eta dezagun katea lortuko en orain erabiltzaileari scanf aurrekontua unquote, "% s." erabiliz, Urtean Beste era batera esanda, dezagun dizugu scanf ez hain zuzen ere, espero kate bat lortzeko erabiltzaileari from. Baina orain scanf kontatzeko behar dugu beste gauza bat - non katea jarri nahi duten erabiltzaileari eskaintzen. Beno, noa izateko nahiko besterik gabe hasiko koma s, zehaztuz duten Nahi dut katea jarri scanf han. Hurrengo naiz zerbait inprimatu joan bezalako printf "for the% s esker backslash n koma. "Eta beti bezala, naiz hemen katea, z pasatzen joatea. Orain dezagun gordetzea, biltzea, eta hau exekutatu programa, eta ikusi ahal izango dugu, ez bada bultzatu arazoa iragarri dut. Egin scanf-1. ./scanf-1. Katea mesedez. Dezagun ematen, antzeko zerbait "kaixo". "Null Eskerrik asko." Hmm, hori ez da zer espero dut. Beraz, zer gertatzen da hemen? Beno, bihurtzen da deklaratu dugulako s char izar bat bezala, baina ez genuen benetan z baten helbidea gordetzen benetako memoria zatia, scanf ez izan edonon katea jarri duten idatzi sartu erabiltzailea Izan ere, orain arte idatzi erabiltzaileari balira "kaixo", katea baino askoz luzeagoa esate baterako lerro batzuk edo testua hainbat paragrafotan, nahiko da Posible liteke bultzatu dugu bat deiturikoak segmentaziuo hutsegitea. Scanf ez delako ezagutzen joan Ez dut benetan jarri helbide bat ren barruan. Hobeto esanda, balio batzuk ikusteko da joan s, eredu batzuk bit duten may Oso ongi zabor balio bat izan behar du, Ba besterik gabe, kasualitatez. Eta scanf da oraindik idatzi saiatzeko joan Erabiltzaileak helbide horretara katea, zabor-balio bat, bada ere horrek dezake, hain zuzen ere hutsegite bat bultzatu. Beraz, nola ari gara hau konpondu egingo da?