1 00:00:00,000 --> 00:00:00,180 2 00:00:00,180 --> 00:00:02,920 >> HIZLARIA 1: Dezagun idazteko programa bat da kate bat jasotzen du erabiltzaileak gabe 3 00:00:02,920 --> 00:00:05,700 CS50 Library en erabiliz GetString funtzionatu. 4 00:00:05,700 --> 00:00:08,720 Horretarako, aurretik joan beharko dugu eta erabili scanf, funtzioa GetString du 5 00:00:08,720 --> 00:00:10,950 funtzioa benetan erabiltzen kanpaia azpian. 6 00:00:10,950 --> 00:00:13,780 Baina nik hau nahita egin dut buggy modu batean. 7 00:00:13,780 --> 00:00:17,230 Dela uste dut, modu batean egin dut eskubidea izango litzateke, baina bihurtzen da 8 00:00:17,230 --> 00:00:19,380 nire hipotesi Honez joan nahiko, nahiko zuzena izan. 9 00:00:19,380 --> 00:00:20,800 Eta hain zuzen ere, oso arriskutsua. 10 00:00:20,800 --> 00:00:24,750 Delako bat naiz zorian dut atsegin bugs egin beharreko aurkariek ustiatu ahal 11 00:00:24,750 --> 00:00:28,870 hala nola, zure makina edo zure programa hartu ahal baino gehiago izan daitezkeen. 12 00:00:28,870 --> 00:00:30,200 >> Dezagun honela hasten. 13 00:00:30,200 --> 00:00:33,540 Lehenengo dezagun aldarrikatu gure katea, bestela, gaur egun ezagutzen char izar baten gisa, 14 00:00:33,540 --> 00:00:34,750 eta deitu s. 15 00:00:34,750 --> 00:00:39,400 Lets ondoan kate erabiltzaileari galdetuko, gertatzen den moduan "katea mesedez." Eta 16 00:00:39,400 --> 00:00:44,250 dezagun katea lortuko en orain erabiltzaileari scanf aurrekontua unquote, "% s." erabiliz, Urtean 17 00:00:44,250 --> 00:00:47,760 Beste era batera esanda, dezagun dizugu scanf ez hain zuzen ere, espero kate bat lortzeko 18 00:00:47,760 --> 00:00:48,630 erabiltzaileari from. 19 00:00:48,630 --> 00:00:50,810 >> Baina orain scanf kontatzeko behar dugu beste gauza bat - 20 00:00:50,810 --> 00:00:53,350 non katea jarri nahi duten erabiltzaileari eskaintzen. 21 00:00:53,350 --> 00:00:57,840 Beno, noa izateko nahiko besterik gabe hasiko koma s, zehaztuz duten Nahi dut 22 00:00:57,840 --> 00:00:59,320 katea jarri scanf han. 23 00:00:59,320 --> 00:01:04,818 Hurrengo naiz zerbait inprimatu joan bezalako printf "for the% s esker 24 00:01:04,818 --> 00:01:10,670 backslash n koma. "Eta beti bezala, naiz hemen katea, z pasatzen joatea. 25 00:01:10,670 --> 00:01:14,920 Orain dezagun gordetzea, biltzea, eta hau exekutatu programa, eta ikusi ahal izango dugu, ez bada bultzatu 26 00:01:14,920 --> 00:01:16,590 arazoa iragarri dut. 27 00:01:16,590 --> 00:01:18,650 >> Egin scanf-1. 28 00:01:18,650 --> 00:01:20,960 ./scanf-1. 29 00:01:20,960 --> 00:01:21,830 Katea mesedez. 30 00:01:21,830 --> 00:01:25,540 Dezagun ematen, antzeko zerbait "kaixo". "Null Eskerrik asko." Hmm, hori ez da 31 00:01:25,540 --> 00:01:26,750 zer espero dut. 32 00:01:26,750 --> 00:01:28,240 Beraz, zer gertatzen da hemen? 33 00:01:28,240 --> 00:01:32,040 >> Beno, bihurtzen da deklaratu dugulako s char izar bat bezala, baina ez genuen 34 00:01:32,040 --> 00:01:36,120 benetan z baten helbidea gordetzen benetako memoria zatia, scanf ez 35 00:01:36,120 --> 00:01:38,940 izan edonon katea jarri duten idatzi sartu erabiltzailea 36 00:01:38,940 --> 00:01:42,510 Izan ere, orain arte idatzi erabiltzaileari balira "kaixo", katea baino askoz luzeagoa 37 00:01:42,510 --> 00:01:46,780 esate baterako lerro batzuk edo testua hainbat paragrafotan, nahiko da 38 00:01:46,780 --> 00:01:50,280 Posible liteke bultzatu dugu bat deiturikoak segmentaziuo hutsegitea. 39 00:01:50,280 --> 00:01:53,570 >> Scanf ez delako ezagutzen joan Ez dut benetan jarri helbide bat 40 00:01:53,570 --> 00:01:54,610 ren barruan. 41 00:01:54,610 --> 00:01:58,000 Hobeto esanda, balio batzuk ikusteko da joan s, eredu batzuk bit duten may 42 00:01:58,000 --> 00:02:00,910 Oso ongi zabor balio bat izan behar du, Ba besterik gabe, kasualitatez. 43 00:02:00,910 --> 00:02:04,600 Eta scanf da oraindik idatzi saiatzeko joan Erabiltzaileak helbide horretara katea, 44 00:02:04,600 --> 00:02:08,789 zabor-balio bat, bada ere horrek dezake, hain zuzen ere hutsegite bat bultzatu. 45 00:02:08,789 --> 00:02:10,130 >> Beraz, nola ari gara hau konpondu egingo da? 46 00:02:10,130 --> 00:02:12,523