జాసన్ HIRSCHHORN: స్వాగతం, వారం 6 కు అందరూ,. నేను బాగా ఉజ్వల మెప్పించాలి ఏళ్ళ క్విజ్ 0 తరువాత, ఎందుకంటే నేను తెలుసు ఒక బిట్ కఠినమైన ఉంది. కానీ కృతజ్ఞతగా, మీరు అన్ని చాలా బాగా చేశాడు. అందువలన, అద్భుతమైన ఉంది. మీరు నా విభాగంలో అయితే, నేను చాలా ఇచ్చాను మీరు ఇప్పటికే మీ క్విజ్ తిరిగి. మీరు ఒక జంట, నేను సమావేశం వెబ్ తరగతి తర్వాత. మరియు మీరు పొడిగింపు విద్యార్థి మరియు అయితే మీరు తిరిగి మీ క్విజ్ రాలేదు ఇంకా, మీ TF బహుశా ఇది పని మరియు శ్రేణి, మరియు అది తిరిగి పొందుతారు మీకు త్వరలోనే. ఎవరు నా పొడిగింపు విద్యార్థులు ప్రస్తుతం చూడటం - ఆశాజనక నివసిస్తున్నారు - నేను మీ క్విజ్ పొందుతారు త్వరలోనే అలాగే. క్రింది నేడు మా అజెండా. మొదటి, మేము కొన్ని వెళ్ళి చూడాలని CS50 మీకు అందించే వనరులకు. వచ్చే క్విజ్ 0 వెళ్ళి, మరియు చేస్తున్నారు నేను ఏ ప్రశ్నలు ఎవరైనా సమాధానం వస్తుంది ప్రత్యేక సమస్యల గురించి ఉంది. ఆపై, మేము చెయ్యబడుతుంది ఫైలు I / O మరియు సమస్య 5 సెట్. ఆ చివరి రెండు విషయాలు పడుతుంది భాగం ఎక్కువ నేడు అప్. నేను ఒక ప్రతివారం ఈ జాబితా జారీ మీరు అన్ని, కానీ కోర్ యొక్క రిమైండర్ విభాగం, మేము మాత్రమే 90 నిమిషాలు - మేము ప్రతిదీ కవర్ చెయ్యలేక ఆ నేను మీరు అబ్బాయిలు కోసం కవర్ ప్రేమిస్తారన్నాడు. కానీ మేము వనరుల టన్ను ఉన్నాయి మిమ్మళ్ని మీరు మీద డ్రా ద్వారా పదార్థం మరియు పని మీ సమస్య సెట్లు. నేను ఒక టెక్స్ట్ ఒక రిమైండర్ మీరు పూరించడానికి మీరు కోసం ఏర్పాటు బాక్స్, నాకు ఏదైనా అభిప్రాయాన్ని, అనుకూల మరియు రెండు విభాగం గురించి, నిర్మాణాత్మక. ఆ సరైన URL డౌన్ ఇక్కడ ఉన్న. మీరు ఏ ఉంటే, ఒక క్షణం ఆగి, చూడు, లేదో విభాగం సమయంలో, లేదా తర్వాత, లేదా తర్వాత మీరు వీడియోను ఆన్లైన్, నాకు మీ బ్యాక్ ఇవ్వడం. నేను నిజంగా అది మరియు అన్ని అభినందిస్తున్నాము. నేను చిన్న సంభాషణలు కలిగి చేసిన నా చాలా వారమంతా విద్యార్థులు - నేను చేతి వంటి తిరిగి క్విజ్, గురించి మాట్లాడటం కోర్సు, మీరు చేస్తున్న విషయాన్ని. మరియు ఒక థీమ్ మీద ఆలోచన మరియు పైగా గురించి మాట్లాడటం లో - లో ముఖ్యంగా - సమస్య సెట్లు. నేను ఆ థీమ్ కప్పబడుతుంది చేశారు ప్రస్తుతం బోర్డు. ముఖ్యంగా, ఒక తేడా ఉంది అని ఏదో మొగ్గుచూపడం మధ్య సరిగ్గా మరియు ఒక పనిని పూర్తి బాగా జరుగుతుంది. చాలా మంది అద్భుతమైన చేస్తున్న సరి పరంగా - అన్ని psets 5 యొక్క లేదా 4 యొక్క. చాలా మంది పొందడానికి ఆ సమయం అన్ని. అయితే, కనుక మీరు చేసిన ఏదో మీకు చేసిన కాదు సొంపుగా ఏదో ఒకటి, లేదా సమర్ధవంతంగా, లేదా వంటి సజావుగా మీరు ఇది పూర్తి కాలేదు ఉన్నాయి. మరియు ఆ డిజైన్ - మరియు తక్కువ స్థాయిలో, శైలి - గొడ్డలి కోసం ఉన్నాయి. నేను మీరు అన్ని నెట్టడం, మరియు ఇతర TFS am మాత్రమే కాదు చేయడానికి, మీరు అబ్బాయిలు తెస్తున్నారు సరైన, కానీ మలుపు ఆ విషయాల బాగా కోడ్ విషయాలను లో. ఉచ్చులు కోసం అనవసరమైన చేయడం లేదు, వేరియబుల్స్ ఉంటే recalculating కాదు మీరు లేదు. ఉదాహరణకు, సెట్ తిరిగి సమస్య చూస్తూ 4, న ఇటుకలు ఉంచడం స్క్రీన్, ప్రతి వరుస - ఒక ప్రతి ఇటుక ఇవ్వబడిన వరుస అదే y-సమన్వయం ఉంది - అదే ఎత్తు సమన్వయం. Y-సమన్వయం అవసరం లేదు కాబట్టి అంతర్గత లోపల లెక్కించబడతాయి మీరు అవకాశం ఉపయోగించిన లూప్ యున్న తెరపై ఆ ఇటుకలు ఉంచాలి. ఇది మాత్రమే ప్రతి లెక్కించబడతాయి అవసరం మీరు వరుసగా స్విచ్, లేదా వరుసగా కిందకు కదులుతూ. 10 ఇటుకలు ఒక లో ఉన్నాయి కనుక చెప్పడానికి వరుసగా, ప్రతి ఇటుక అదే ఉండవచ్చు y-సమన్వయం, మరియు వై సమన్వయం అని కేవలం లెక్కించవచ్చు ఆ అన్ని కోసం ఒకసారి. ఇది 10 లెక్కించబడతాయి అవసరం లేదు సార్లు, లేదా ఏ లెక్కింపు అవసరం అసలు జరిగే ఫంక్షన్ కాల్ - కొత్త gracked ఫంక్షన్ కాల్. కాబట్టి ఆ కోసం కొద్దిగా గందరగోళంగా ఉంటే మీరు, మరింత సామాన్యముగా, విషయాలు ఆ ప్రతి సమయం జరిగే అవసరం లేదు మీరు ఉండకూడదు ఒక కోసం లూప్ ద్వారా వెళ్ళి కోసం లూప్ లోపల పెట్టి, మరియు ఇవ్వాల్టి మీరు ప్రతిసారీ జరిగే కోసం లూప్ ద్వారా. మేము చూసిన మరో మంచి డిజైన్ ఉదాహరణకు 15 కోసం 3 వ వారం లో, మీరు కాలేదు సున్నా ట్రాక్. కాబట్టి మీరు, మీరు బోర్డు ప్రారంభించడం ఉన్నప్పుడు సేవ్ - ప్రపంచ వేరియబుల్ లో, బహుశా - x మరియు సున్నా y-సమన్వయం. ఆపై చేసినప్పుడు మీరు - మీ ఎత్తుగడ ఫంక్షన్, చేసినప్పుడు మీరు విజయవంతమైంది, మీరు అప్డేట్ సున్నా స్థానాన్ని. ఆ చేయడం నుంచి మీరు సేవ్ చేస్తుంది ద్వారా చూడండి ఉచ్చులు కోసం యున్న మీ ఎత్తుగడ ఫంక్షన్ లో ప్రతిసారీ బోర్డు మరియు సున్నా, లేదా టైల్ కనుగొనేందుకు, తరువాత దానికి ఏమి తనిఖీ. బదులుగా, మీరు స్థానాన్ని కలిగి సున్నా, మీరు, క్రింద, పైన చూడవచ్చు మరియు అది యొక్క ఎడమ మరియు కుడి, కనుగొనేందుకు మీరు వెతుకుతున్న టైల్. కాబట్టి మేము కార్యక్రమాలు పరంగా రాయడం, వారు తగినంత పెద్ద ఎన్నడూ ఈ రూపకల్పన నిర్ణయాలను నిజంగా దెబ్బతీయడం వెళ్తున్నారు మీ కార్యక్రమం, లేదా, ఇది చాలా నెమ్మదిగా అమలు చేయడానికి లేదా బహుశా కూడా మెమరీ రన్నవుట్. కానీ మేము ఇంకా మీరు అబ్బాయిలు నెట్టడం రాయడానికి వంటి సొగసైన మరియు సాధ్యమైనంత సమర్థవంతంగా కోడ్. మీరు ఇలా చేస్తే విషయాలు రాయడం ముగుస్తుంది ఒక గణనీయంగా పెద్ద కలిగి పరిధిని, వారు మంచి తో వ్రాయబడును సరైన పాటు రూపకల్పన. కాబట్టి మీరు ఒక సంఖ్య ఆ తీసుకువచ్చింది. ఆ మేము చూస్తున్న ఏదో - మేము కొనసాగుతుంది చూడాలని ఏదో మీరు అబ్బాయిలు పుష్. మీరు గురించి ఏవైనా ప్రశ్నలు ఉంటే మీ ప్రోగ్రామ్ రూపకల్పన, సంకోచించకండి నాకు చేరుకోవడానికి, మరియు నేను సంతోషంగా ఉన్నాను కు మీరు మీ కార్యక్రమం ద్వారా వాక్, మరియు డిజైన్ కొన్ని అభిప్రాయపడుతున్నారు మీరు చేసిన, మరియు మీరు కొన్ని ఇవ్వాలని నిర్ణయాలు చేయడానికి ఎలా సలహాలను కూడా మంచి డిజైన్ నిర్ణయాలు. కాబట్టి మేము తరలించడానికి వెళుతున్న క్విజ్ 0 గురించి మాట్లాడటం. మేము అలా ముందు, ఎవరైనా చేస్తుంది గురించి ఏవైనా ప్రశ్నలు ఏమి నేను ఇప్పటివరకు కవర్ చేసిన? [Rustling శబ్దం] జాసన్ HIRSCHHORN: ఏడు సెకన్ల. OK. యొక్క ఒక బిట్ కోసం క్విజ్ 0 గురించి చూద్దాం. మీరు చాలా మీ క్విజ్ 0 యొక్క తిరిగి కలిగి. మీరు, ఆశాజనక చేస్తే మీరు ఒక బిట్ గుర్తు. కానీ మీరు క్విజ్ 0, మీరు తీసిన ఉంటే కూడా ఆన్లైన్ PDF యాక్సెస్ నమూనా పరిష్కారాలను. ఎవరైనా ముందు ఏ ప్రశ్నలు ఉందా మేము గురించి వారం యొక్క పదార్థం దూకి క్విజ్ 0 ప్రత్యేక సమస్య - ఎందుకు సమాధానం అది ఏమిటి? ఎవరైనా ఏదైనా గురించి అయోమయం? మీరు కుడి సమస్య వచ్చింది, కానీ కూడా నాకు ఇది కొంచెం వివరించండి కోరుకుంటున్నారో మరింత, నేను ఇప్పుడు అలా సంతోషంగా ఉన్నాను. నేను మీరు అబ్బాయిలు కోరారు కొన్ని తయారు వచ్చి క్విజ్ 0 గురించి ఆలోచనలు. కాబట్టి మనకు పొందడానికి ఇష్టపడితే ఒక ప్రశ్న లేదా ప్రారంభించారు క్విజ్ 0 గురించి మీరే? [PAPER Rustling] జాసన్ HIRSCHHORN: ప్రతి ఒక్కరూ సంపూర్ణ చేసింది. నేను తెలుసు [నవ్వుతూ] కొన్ని ప్రశ్నలు ఉన్నట్లు క్విజ్ 0 గురించి. OK. అవును. Ompica. OMPICA: సంఖ్య 10. జాసన్ HIRSCHHORN: సంఖ్య 10. ఇది ఒక సంఖ్య 10 ఉంది? OMPICA: - జాసన్ HIRSCHHORN: నేను haven't - OMPICA: ది ఉన్నాయి - జాసన్ HIRSCHHORN: సంఖ్య 10 ఎనిమిదేళ్లు నేను - నేను ఎనిమిది రాయడం? OMPICA: అవును. జాసన్ HIRSCHHORN: OK. కాబట్టి మరొక ప్రశ్న మీరు కలిగి ఉంటుంది నేను దూరద్రుష్టితో am అడిగే? జవాబు అవును. క్విజ్ ముందు విభాగంలో, నేను అడిగిన మీరు అబ్బాయిలు స్టెర్లింగ్ రెండు కోడ్ని మరియు ఎనిమిది నేను. రెండూ జరిగిన క్విజ్ లో కనిపిస్తుంది. కాబట్టి ఆశాజనక, మీరు చెల్లింపు ఆ దృష్టి. మీరు కలిగి ఉంటే, అప్పుడు మీరు కలిగి ఉంటుంది బహుశా ఆ రెండు బాగా జరిపిన. కానీ ఎనిమిది నేను, మేము కాదు నిజానికి కోడ్ అది తరగతి, కానీ, మళ్ళీ, ఉంది క్విజ్ లో అడిగిన. తీసుకోవడము విషయాలను నేను ఎనిమిది కోడింగ్ ఉన్నప్పుడు గమనించండి. మొదటి విషయం, ప్రశ్న శాతం, ఉంది మీరు తనిఖీ అవసరం ఉంటే స్ట్రింగ్ శూన్య సమానము. ఒక జంట ప్రజలు తర్వాత తనిఖీ ప్రయత్నించారు కార్యక్రమంలో లు ఉంటే బ్రాకెట్ నేను - ఆ కాబట్టి ఒక నిర్దిష్ట పాత్ర స్ట్రింగ్ - శూన్య సమానము. కానీ శూన్య తప్పనిసరిగా, గుర్తు - ఆలోచించి మంచి ఒక సున్నా పాయింటర్ శూన్య - సున్నా ఒక పాయింటర్ - మెమరీ లో సమ్ప్లేస్ పేరు మీరు ఆక్సెస్ ఎప్పుడూ. అయితే ఏదో మీరు, శూన్య సమానం ఇది initialized లేదు తెలుసు, లేదా అక్కడ ఏమీ లేదు. కాబట్టి s, ఒక చార్ స్టార్ s ఉంది బ్రాకెట్ నేను ఒక చార్. కనుక ఇది, శూన్యం లు పోల్చడానికి అర్ధమే కానీ లు బ్రాకెట్ నేను శూన్యం. కానీ మళ్ళీ - కాబట్టి మొదటి విషయం మీరు నిర్ణయించుకున్నాయి ఆ - నిర్ధారించుకోండి తనిఖీ మీరు నిజంగా నిజమైన స్ట్రింగ్ వచ్చింది. తరువాత, మీరు ద్వారా వెళ్ళి కోరుకున్నాడు స్ట్రింగ్ లో ప్రతి పాత్ర. అందువలన, ఎస్ బ్రాకెట్ వంటి ఉంటుంది నేను, ఉదాహరణకు, నేను మీ ఇటెరేటర్ ఉంటే. మరియు ఆ పాత్ర తీసుకుని, దాని వాస్తవ విలువ పొందుటకు. మీరు ఒక చార్ వంటి నిల్వ, కానీ సున్నా కోసం ASCII విలువ - ఒక పాత్రగా సున్నా - నిజానికి పూర్ణాంక సున్నా కాదు. ఇది మీరు కొన్ని ఇతర సంఖ్య ఉంది ASCII పట్టికలో వెతకండి. కాబట్టి ఒక మార్గం అని సరిచేయుటకు - సరిచేయుటకు బహుశా ఉత్తమ మార్గం ఆ - ఇది నుండి వ్యవకలనం ఉంది పాత్ర విలువ - ఒక పాత్రగా సున్నా. సో మైనస్ ఒకే కోట్, సున్నా, మరొక పాట కోట్. మీరు చర్యలన్నీ సంఖ్య పడుతుంది ఒక చార్ వంటి, మరియు దానిని సమానంగా పొందండి ఒక వాస్తవ పూర్ణాంకం, సంఖ్య. మరియు ఆ విధానం చాలా పోలి ఉంటుంది ప్రజలు చాలా లో పట్టింది సమస్య సీజర్ తో, 2 సెట్ మరియు Viginere - ఆ సాంకేతికలిపులు, మీరు వాటిని పరిభ్రమిస్తూ. మీరు నుండి అనేక ఇది కలిగి కాబట్టి తర్వాత సున్నా తొమ్మిది, అప్పుడు - బట్టి ఇది అంతిమ సంఖ్య లో వెళ్ళే - మీరు గుణిస్తారు అవసరం 10 యొక్క శక్తి ద్వారా. కొంతమంది తిరిగి నుంచి ముందు, మరియు వ్యక్తిగత గుణిస్తే 10 యొక్క శక్తి ద్వారా సంఖ్య. కొంతమంది నుంచి తిరిగి ముందు - అందువలన ఎక్కువ పట్టింది మొదటి సంఖ్యలు ఆర్డర్ - మరియు ఒక లో ఆ భద్రపరుస్తుంది ప్రపంచ కౌంటర్ వేరియబుల్. ఆపై కోసం ద్వారా ప్రతి సమయం లూప్, గుణకారం ప్రపంచ దిగ్గజం చేయడానికి, 10 ద్వారా వేరియబుల్ ఎదుర్కోవడానికి తదుపరి చార్ స్థలాన్ని. కాబట్టి ఆ లేకుండా ఒక చిన్న గందరగోళంగా నాకు బల్లపై రాయడం. కానీ నమూనా పరిష్కారం మీకు అందుబాటులో ఉంది. కానీ ఆ పెద్ద విషయాలు ఉన్నాయి మేము వెతుకుతున్న. అలాగే ప్రతి నిర్ధారించుకోండి ఒక చెక్ వ్యక్తిగత పాత్ర ఒక నిజంగానే సున్నా మరియు తొమ్మిది, మరియు మధ్య పాత్ర ఒక A వంటి కొన్ని ఇతర పాత్ర,, ఉదాహరణకు. ఆ మేము వెతుకుతున్న విషయాలు ఉన్నాయి ఆ ప్రశ్న లో. మీ ప్రశ్నకు సమాధానం ఉందా? OMPICA: అవును. జాసన్ HIRSCHHORN: OK. ఇతర ప్రశ్నలు ఉన్నాయి క్విజ్ 0 గురించి? ఏ కంపైల్ గురించి? అందరూ కంపైల్? నం ఒక ఉన్నాయి - [నవ్వుతూ] గురించి ప్రశ్నలు సంగ్రహం విధానంలో? వావ్. [PAPER Rustling] జాసన్ HIRSCHHORN: అవును. మైఖేల్. MICHAEL: - యాదృచ్చిక సంఖ్య 7 ఏమిటి? జాసన్ HIRSCHHORN: సంఖ్య 7. సంఖ్య 7 ఒక యాదృచ్ఛిక పూర్ణాంక పొందండి ఉంది. అద్భుతమైన. కాబట్టి మీరు పూర్ణాంకం ఒక మరియు ఒక చేస్తున్నారు పూర్ణాంక బి, మరియు మీరు ఒక యాదృచ్ఛిక కావలసిన ఒక అండ్ బి మధ్య పూర్ణాంకం. మేము నిజంగా ఈ ఒక వ్రాయగలరు బోర్డు, ఈ ఒక కోడ్ యొక్క ఒక లైన్ ఉంది - దీన్ని ఒక మార్గం. కాబట్టి మేము ఒక వంటి drand ఇచ్చిన చేస్తున్నారు ఫంక్షన్ వాడవచ్చు. మరియు drand లేదు - ఇది సీడ్ చెయ్యబడిన ఊహిస్తూ - ఏమి తిరిగి drand లేదు? MICHAEL: 0.0 మరియు 1.0 మద్య ఫ్లోట్. జాసన్ HIRSCHHORN: అనేక - అవును. 0 మరియు 1 మధ్య ఒక సంఖ్య. అందువలన మేము బి ఒక చేశారు. మరియు తర్వాత మేము మా యాదృచ్ఛిక ఉన్నాయి 0 మరియు 1 drand మాకు ఇచ్చిన. B కొంతమంది ఉంచేందుకు ప్రయత్నించాడు, లేదా బి మైనస్ ఆ లోపల ఒక, లేదా ఏదో కుండలీకరణాలు. వారు అని అర్థం ఈ ఫంక్షన్ కు వాదనలు. drand ఏ వాదనలు తీసుకోదు - getString చేస్తుంది వంటి ఏ వాదనలు తీసుకోదు. కాబట్టి దగ్గరగా, కేవలం ఓపెన్ బ్రాకెట్ ఉంది బ్రాకెట్ - మరియు ఆ, కూడా ఉంది ఫంక్షన్ కాల్. మరియు మీరు అనేక ఇస్తుంది 0 మరియు 1. కోర్సు యొక్క, మేము ఒక మొత్తం శ్రేణి కలిగి సంఖ్యలు సైన్ ఉండాలనే బి 10 మరియు ఒక 5 ఉంటే, మేము నిజంగా, సే 5 పరిధితో అనేక కావలసిన. కాబట్టి మేము ఏమి చేయాలి తదుపరి విషయం పరిధి బి మైనస్ ఒక ద్వారా ఈ గుణిస్తారు. కాబట్టి ఆ గుణిస్తే యొక్క ఊహిస్తూ. మరియు మాకు అనేక ఇస్తాము ఒక పరిధిలో. మరియు నిర్దిష్ట స్థాయిని బి మైనస్ ఒక మధ్య వ్యత్యాసం. చివరకు, మాత్రమే నుండి ఇస్తాము - బి మైనస్ ఒక మధ్య పరిధి చెప్పటానికి 5, మాకు ఒక ఇస్తాము ఉంది 0 5 సంఖ్య. ఒక నిజానికి 5 లో ఉంటే, మేము పెంచడానికి అవసరం ఇది ఎక్కడ ఈ పరిధి వరకు నిజానికి ఒక జోడించడం ద్వారా, రావలసిన. కాబట్టి ఆ తర్కం కుడి అవుతుంది. ఆపై, మీరు కలిగి ఉంటుంది మరొక ప్రశ్న? MICHAEL: నం నేను ప్రస్తుతం నిజంగా మూగ అనుభూతి. [నవ్వుతూ] జాసన్ HIRSCHHORN: నం నిజంగా మూగ ఫీల్ లేదు. ప్రజలు అనేక పడ్డాడు ప్రశ్న తో. ఆపై, ఇతర ప్రశ్న, drand, మీరు, అన్నాడు ఫ్లోట్ ఇస్తుంది - ఫ్లోట్ తిరిగి. కానీ ఈ ఫంక్షన్ వాస్తవానికి కోరారు పూర్ణాంకం తిరిగి కోసం. మీరు స్పష్టంగా ఈ తారాగణం లేదు పూర్ణాంకం, ఈ ఎందుకంటే కార్యకలాపాలు అన్ని ఒక ఇది చికిత్స ఫ్లోట్ - ఒక ఫ్లోటింగ్ పాయింట్ సంఖ్యలు వంటి. ఈ వంటి - కూడా ఈ ఉంటే పూర్ణాంకం, ఈ అభీష్టం సరిగ్గా వారిని. అన్ని గుణకారం పని చేస్తుంది. మీరు ఇక్కడ నటింపజేయాలని అవసరం లేదు. నిజానికి, మీరు నటింపజేయాలని ఉండకూడదు. అన్నార్తులకు - మీరు అనేక నటింపచేసాడు ఉంటే ఆ 0 మరియు 1 మధ్య - ఒక యాదృచ్చిక సంఖ్య, ఒక ఫ్లోటింగ్ పాయింట్ - అది గాని కాబట్టి, మాత్రమే 0 లేదా 1 ఉంటుంది మీరు ఆ PRECISION అన్ని కోల్పోతారు. కానీ చివరిలో, మీరు తిరిగి ఉన్నప్పుడు, అది స్వయంచాలకంగా గెట్స్ పూర్ణాంకం వంటి పంపిన. కాబట్టి మీరు లేదు మీరే కాస్టింగ్. కాబట్టి ఈ చాలా బాధేసింది ఆ ప్రశ్న, సంఖ్య 7. క్విజ్ 0 ఏ ఇతర ప్రశ్నలు? అవును, అన్నీ. ANNIE: మేము పునరావృత ఎప్పుడు ఉపయోగించాలి - మేము పునరుత్థాన ఉచ్చులు ఉపయోగించగలను? జాసన్ HIRSCHHORN: మీరు ఉపయోగించగలను పునరావృత - కాబట్టి సాధారణంగా, సూత్రం వర్సెస్ యొక్క లాభాలు మరియు నష్టాలు ఒక పద్ధతి పునరుత్థాన. ఎవరైనా ఒక అనుకూల లేదా ఒక కాన్ అందించగలదు? దయచేసి? ఎవరైనా కాదు. ఎవరు అనుకూల లేదా ఒక కాన్ అందించగలదు? [PAPER Rustling] STUDENT 1: రికర్సివ్ తక్కువ ఉంది కోడింగ్ - తక్కువ టైపింగ్? జాసన్ HIRSCHHORN: కనుక సాధారణంగా, సూత్రం ముఖ్యంగా, ఒక ఫంక్షన్ - లేదా విలీనం వంటి ఒక అల్గోరిథం విధమైన - ఇది కూడా ఇస్తుంది ఒక పునరావృత విధానం - సూటిగా కావచ్చు పునరావృతంగా కోడ్ని. మరియు కేవలం మరింత అర్ధవంతం పునరావృతంగా దీన్ని. కాబట్టి ఆ సూత్రం ఒక అనుకూల ఉంటుంది. ఇతరత్రా? అవును? STUDENT 2: సూత్రం కాన్ - ఇది మరింత మెమరీ ఉపయోగిస్తుంది. జాసన్ HIRSCHHORN: కాబట్టి ఖచ్చితంగా కుడి. ఒక పునరావృత ఫంక్షన్ జోడించడం చేస్తుంది స్టాక్ స్టాక్కు ఫ్రేములు. మీరు చాలా నిర్వహించడం మీరు చేస్తే సంఖ్యలు, మరియు ఈ కాల్ చాలా పని, మీరు ఖచ్చితంగా రెడీ అయితే, మరింత మెమరీ పడుతుంది ఒక పద్ధతి పునరుత్థాన మాత్రమే ఒక ప్రదర్శించాలి , స్టాక్ ఫ్రేమ్ స్టేక్ ఎందుకంటే అది ఒక ఫంక్షను జరుగుతుంది. ఇతర రెండింటికీ? అవును. STUDENT 3: సూత్రం కోసం ప్రోస్. మీరు లో గుర్తించడానికి లేదు ముందుకు ఎన్ని సార్లు కోడ్ పునరావృతం వచ్చింది. మీరు ఒక ముందుగా నిర్ణయించిన ఉన్నాయి చేయవచ్చు మీరు, iterate కలిగి సార్లు సూత్రం, మంచి ఎందుకంటే ఆ ఫలితంగా పడుతుంది. జాసన్ HIRSCHHORN: ఆ నిజం అనుకుంటున్నాను. కానీ నేను రెండు సందర్భాలలో అనుకుంటున్నాను మీరు ఎప్పుడూ - మీరు బహుశా కొన్ని జరుగుతుందని యూజర్ నుండి ఇన్పుట్. లేదా ఈ ఫంక్షన్ కొన్ని ఇన్పుట్ వుంటుంది అని నిర్ణయించడానికి ఎన్ని సార్లు అమలు చేయాలి. కనుక సాధారణంగా, మీరు కోడ్ కాదు - కూడా ఒక పద్ధతి పునరుత్థాన లో - ఎలా అనేక సార్లు ఆ లూప్ నడుపవలెను. మీరు మరో ఉందా అన్నీ ఆలోచించకుండా? OK. కాబట్టి ఆ బహుశా రెండు - అతిపెద్ద ప్రో మరియు అతిపెద్ద వర్సెస్ ఒక పునరావృత చేయడానికి చేస్తున్నారు ఒక పద్ధతి పునరుత్థాన. OK. క్విజ్ 0 లో ఏదైనా? యొక్క వెళదాము. దస్త్రం I / O ఒక అద్భుతమైన చిన్న ఉంది ఈ వారం ఫైల్లో I / O ఆశాజనక మీరు బహుళ వీక్షించిన సార్లు, మరియు మెచ్చుకున్నారు. పని చాలా ఆ వెళ్ళే, మరియు నేను చేసిన అది అతి ఉపయోగకరంగా ఉంటుంది విన్నారు. నేను కూడా, ఈ స్లయిడ్ పై లింక్ చేర్చబడింది విషయంలో మీరు కలిగి లేరు ఒక ఇది 10 సార్లు చూడటానికి అవకాశం. కాబట్టి, మేము కొంతకాలం వెళ్ళి ఉంటాయి ఓపెనింగ్ మరియు పని ప్రధాన దశలను ఫైళ్ళతో, ఆపై మేము వెళ్తున్నారు ముందు ఒక కోడింగ్ సమస్య ప్రవేశిస్తాడు సమస్య సెట్ పరిశీలించిన. మరలా, నేను ఈ ఇవ్వడానికి వెళుతున్న స్క్రీన్, కానీ నేను కోసం చర్చ వెళుతున్న మేము ఏమి గురించి ఒక నిమిషం ఫైలు ఇక్కడ చేయడం I/O-- ఆ అర్థం ఏమిటి? మేము సృష్టించవచ్చు అంటే మా కార్యక్రమాలు, మరియు అప్పుడు మా కార్యక్రమాలు నిష్క్రమణ, మరియు ప్రభావాన్ని చేసిన కాదు మా కార్యక్రమం ప్రపంచ వెలుపల. కానీ మేము ఫైళ్ళతో పని ప్రారంభించిన - రెండు చదివిన సృష్టించడం వాటిని - మేము కొంత ప్రభావాన్ని కలిగి మా కార్యక్రమం ప్రపంచ వెలుపల. కేవలం వంటి Microsoft Word పొందలేదు ఉంటే అప్పుడు, ఏ Word పత్రాలు చేయడానికి Microsoft Word, మీ అన్ని విడిచి ఒకసారి పని తొలగించబడ్డాయి, మరియు ఇది చేస్తాను నిజంగా పనికిరాని. వృత్తిలోనైనా చెయ్యడానికి అనుకుంటున్నారు ప్రభావితం చేసే ప్రోగ్రాములను వ్రాయటానికి వారి చుట్టూ ఉన్న ప్రపంచం, రెండు లో తీసుకొని ఫైళ్లు పరంగా మరియు - క్లిష్టమైన ఇన్పుట్లను ఫైల్స్ ద్వారా, మరియు కూడా ఆసక్తికరమైన సృష్టించడం మరియు బలవంతపు ప్రతిఫలాన్ని - ఫైళ్లు వివిధ రకాల పరంగా. మేము మొదలు ఎందుకు కాబట్టి ఆ ఉంది ఫైళ్ళతో పని ఎలాగో తెలుసుకోండి. మరింత ప్రత్యేకంగా, ఏమి మేము క్రింది చేయండి. ఇది చాలా సులభం. అక్కడ దశలను మాత్రమే జంట ఉన్నాయి, మరియు వారు ఈ కోడ్ ఇక్కడ ఇవ్వబడ్డాయి. కాబట్టి మేము ద్వారా వెళ్ళి చూడాలని లైన్ ద్వారా ఈ కోడ్ లైన్. మొదటి, మీరు హైలైట్ చూడండి - మీరు ఒక ఫైల్ తో పని, చేసినప్పుడు సంబంధం లేకుండా ఫైలు రకం, ఇది ఉంది మీరు ఓపెన్ అవసరం. మరియు ఆ fopen కాల్ తో ఉంది - ఇక్కడే. మీరు ఫైల్ యొక్క పేరు. ఫైలు, మీ డైరెక్టరీలో లేకపోతే లేదా ఫోల్డర్ పేరు ఈ కార్యక్రమం జీవితాలను, అప్పుడు మీరు ఉన్నాయి అవసరం ఫైల్ పేరు ఒక మార్గం. మేము ఊహించుకోవటం చూడాలని ఈ "text.txt" అని ఫైలు - ఒక సాధారణ టెక్స్ట్ పత్రం - లో ఉంది ఈ కార్యక్రమం అదే ఫోల్డర్ ఉంది. కాబట్టి ఆ లో ఉంచడానికి మరొక విషయం మనసు - మీరు ఒక ఫైల్ తెరిచి అనుకుంటే ఎక్కడైనా, మీరు నిజంగా అవసరం దాని స్థానాన్ని చేర్చడానికి. రెండవది, మీరు ఒక వాదన తరలిస్తారు fopen, మరియు మీరు చేయాలనుకుంటున్నారా ఏమిటి ఫైలు. మూడు ప్రధాన వాదనలు ఉన్నాయి మీరు fopen పాస్ చూడాలని. ఎవరు నాకు ఆ మూడు ఇస్తుంది? ఎవరు నాకు వాటిని ఒకటి ఇస్తుంది? అవును. STUDENT 4: ఫైల్ పేరు? జాసన్ HIRSCHHORN: క్షమించండి. మీరు తరలిస్తారు మూడు ప్రధాన వాదనలు రెండవ వాదన fopen వంటి. మీరు కుడి ఉన్నాము - ఫైల్ పేరు మొదటి వాదన ఉంది. కానీ fopen రెండవ వాదన ఉంటాయి సాధారణంగా మూడు తీగలు మరియు - అవును. Aleja. ALEJA: append ఒక. జాసన్ HIRSCHHORN: ఒక, మీరు అనుకుంటే ఇప్పటికే ఉన్న ఫైలుకు జోడించే. STUDENT 5: రీడ్ కోసం R. జాసన్ HIRSCHHORN: R, మీరు ఉంటే ఒక ఫైలు నుండి చదవాలనుకుంటున్న. STUDENT 6: వ్రాయడం కోసం W. జాసన్ HIRSCHHORN: మరియు, w మీరు ఒక ఫైల్ వ్రాయడం కావలసిన. కాబట్టి ఈ సందర్భంలో, మనం రాస్తున్నాం ఫైలుకు, కాబట్టి మేము w కలిగి. మీరు ఓపెన్, మీరు కూడా సేవ్ ఉంటుంది ఎక్కడో దాఖలు, మరియు ఆ తో ఉంది ఎడమ వైపు కోడ్ కార్య ఆపరేటర్లు - నేను ఒక ఫైల్ ఒక పాయింటర్ సృష్టించడం నేను ఈ సందర్భంలో, ఫైలు లో, అని. మేము ఆందోళన వెళ్ళి లేదు ఏమి ఈ అన్ని టోపీలు FILE విషయం. చెప్పడానికి అది తగినంత, ఇది ఒక దీర్ఘ ఉంది సున్నాలు మరియు వాటిని ప్రవాహం. మరియు మేము వెళ్తున్నారు ఎలా ఇది పని మరియు ఇది అర్థం. మేము చెయ్యాల్సిన తదుపరి విషయం - మరియు ఈ చాలా ముఖ్యం - మీరు ఒక ఫైల్ తెరిచిన ప్రతిసారి - నిజానికి, మీరు malloc కాల్ చేసినప్పుడు, కోసం ఉదాహరణకు, మరియు కొన్ని మెమరీ మరియు ప్రయత్నించండి మరియు మీరు ఎల్లప్పుడూ, ఒక పాయింటర్ లో సేవ్ నిర్ధారించుకోండి తనిఖీ కావలసిన ఫంక్షన్ శూన్య తిరిగి రాలేదు. కాబట్టి ఈ సందర్భంలో, మనం చేయడానికి తనిఖీ మేము నిజంగా ప్రారంభమైన ఖచ్చితంగా సరిగ్గా దాఖలు, మరియు ఉంది మా కార్యక్రమంలో దోషానికి. తదుపరి, ఒకసారి మేము నిర్ధారించడానికి తనిఖీ చేసిన మేము మేము, ఒక పని ఫైల్ ఉందని , వ్రాయడానికి, లేదా నుండి చదవండి లేదా ఫైలుకు జోడించే. ఈ సందర్భంలో, నేను కేవలం ప్రింటింగ్ వున్నాను ఈ ఫైలు ఒక లైన్. నేను తెలుసు? Well, నేను ఈ ఫంక్షన్ ఉపయోగించి వెబ్ fprintf అని. మీరు ఉపయోగిస్తున్న ఉంటుంది విధులను అన్ని , వ్రాయడం లేదా నుండి, లేదా చదివేటప్పుడు ఫైళ్లు రెట్టింపు పోలి ఉంటుంది మీరు ముందు చూసిన ఉన్నయి విధులు లేఖ F ప్రారంభం, ఫైల్ కోసం నిలబడి. మరియు fprintf మా సాధారణ ముద్రణ కాకుండా అనువర్తనం, ఒక అదనపు ఆర్గ్యుమెంట్, మరియు ఆ ఫైల్ ఇక్కడ మీరు ఈ రేఖ ప్రింట్ మీరు. నేను ఏదైనా లేదు ohai కుడి. నేను మూడవ లేదు వాదన printf - లేదా రెండవ వాదన printf కు, మూడవ వాదన fprintf వరకు, ఎందుకంటే నేను ఇక్కడ ఏ placeholders లేదు. నేను ఏ వేరియబుల్స్ సహా లేదు. కానీ మళ్ళీ, fprintf మరియు ఈ ఫైలు యొక్క అన్ని ఫైళ్లు తో ఆపరేట్ విధులు సాధారణంగా ఫైల్ అవసరం వెళ్తున్నారు ఇది వారు ఆపరేటింగ్ చేస్తున్నారు. చివరిగా, చివరి ముఖ్యమైన విషయం ఏమి వలె, ఫైలు దగ్గరగా ఉంది తో - ఏదో malloc చేసినప్పుడు, మేము కుండునట్లు ఏదో ఉచిత మీరు మెమొరీ లీక్ - మేము మా ఫైలు మూసి. ఈ కార్యక్రమం ముగింపు లేకుండా నిష్క్రమించారు ఉంటే ఫైలు, అసమానత ఏమీ ప్రయత్నించాడు ఉంటాయి తప్పు, ముఖ్యంగా ఇది ఒక చిన్న ఫైల్ ఉంది. కానీ అది ఖచ్చితంగా మంచి సంహితం శైలి మరియు ఎల్లప్పుడూ మీ ఫైల్ మూసి సాధన మీరు ఉపయోగించడం పనయ్యాక. కాబట్టి ఆ ఫైలు యొక్క బేసిక్స్ నేను / ఓ ఉంది మీరు బహుశా ముందు ఆ చూసిన, లేదా చేసిన ఆ అద్భుత చిన్న లో వీక్షించారు. ఎవరైనా ముందు, ప్రశ్నలు ఉందా మేము కొన్ని ఆచరణ కోడింగ్ వెళ్ళాలని ఫైలు గురించి సమస్యలు, I / O లేదా దశలను నేను వెళ్లి? [టైప్ ధ్వనులు] జాసన్ HIRSCHHORN మీరు చేయండి: ఒక ప్రశ్న, Avi ఉందా? AVI: నం జాసన్ HIRSCHHORN: OK. నేను మరొక వేచి వెళుతున్న ఏడు సెకన్ల. [నవ్వుతూ] ఒక నిజంగా మంచి టిప్. మీరు అబ్బాయిలు కేవలం నచ్చలేదు ప్రశ్నలు అడగడం. ఆ మంచిది. OK. మా మొదటి సాధన సమస్య మేము ఉంటాయి, ఉంది పనితీరు నకిలీ అన్నారు ఒక కమాండ్ లైన్ సాధనం అని మీరు బహుశా కాపీ - ఉపయోగించారనే - కాపీ సాధనం. మీరు cp టైప్ ఆపై పాస్ రెండు మీ టెర్మినల్ వాదనలు, మీరు ఒక ఫైలు కాపీ. మరియు మేము ఎంత ఉంది ప్రస్తుతం రాయడానికి. మరలా, ఈ స్లయిడ్ ఆఫ్ చదవడం, హ మీరు పడుతుంది ప్రోగ్రామ్ రాయడానికి రెండు మరియు రెండు ఆదేశ పంక్తి మాత్రమే వాదనలు - ఒక మూలం ఫైల్ మరియు ఒక గమ్యాన్ని ఫైలు - మరియు కాపీలు మూలం విషయాలు గమ్యం ఫైలుకు ఒక సమయంలో ఒక బైట్. కాబట్టి ఆ ఎంటర్టైన్ చాలా ఉంది. మళ్ళీ, ఈ ఒక మంచి విధానం ఉంది సి కోడ్ సాపెన, కానీ దశలను జంట విచ్ఛిన్నం. మొదటి, తర్కం గురించి ఆలోచించటం - ఖచ్చితంగా నేను అడుగుతూ వెబ్ - మరియు అన్ని అర్థం ఈ సమస్యకు దశలను. కాదు C లో, కేవలం కొన్ని pseudocode లో, లేదా కూడా ఒక మానసిక మోడల్ ఏం జరగబోతోంది. తరువాత, మీరు pseudocode డౌన్ కలిగి, గుర్తించడానికి ఎలా pseudocode టూల్స్ మరియు మేము చేసిన విషయాలు పై చిత్రాలు సి లో ఉపయోగించడానికి నేర్చుకున్నాడు చివరకు, ఒకసారి మీరు ఆ కలిగి కలిసి, మీరు సమస్య కోడ్ చేయడం. 5 నుండి 10 నిమిషాలు తీసుకోండి ఈ సమస్య పని. నేను సూచనలను ఉంచుతాము తిరిగి రెండవ లో. మరియు తర్వాత మేము వెళ్ళి చూడాలని pseudocode మరియు కోడ్ ఇది ఒక సమూహంగా నివసిస్తున్నారు. మీరు ఉన్నప్పుడు ఏవైనా ప్రశ్నలు ఉంటే ఈ పని, పెంచడానికి సంకోచించకండి మీ చేతి, మరియు నేను వస్తాయి చుట్టూ మరియు వాటిని సమాధానం. STUDENT 7: నేను స్వైప్ చేయవచ్చు కాగితంపై? జాసన్ HIRSCHHORN: ఏం జరుగుతోంది? [టైప్ ధ్వనులు] జాసన్ HIRSCHHORN: OK. మొదటి pseudocode వీడలేదు, మరియు నేను మీరు ఒక జంట మరింత ఇస్తాము నిమిషాల కోడింగ్ పూర్తి. ఎవరు నాకు ఆఫ్ మొదలు కోరుకుంటారు మొదటి లైన్ ఈ వేడుకలో pseudocode? STUDENT 8: నిర్ధారించుకోండి తనిఖీ మీరు రెండు ఫైళ్లను ఇవ్వబడింది. జాసన్ HIRSCHHORN: OK. మరియు మేము లేదు ఉంటే? STUDENT 8: నేను 0 తిరిగి. జాసన్ HIRSCHHORN: మేము తిరిగి 0 ఉండాలా? STUDENT 8: ఒక తిరిగి - చీకటి చేస్తూ. క్షమించాలి. జాసన్ HIRSCHHORN: అవును. బహుశా 0. 0 ప్రతిదీ మంచి అర్థం ఎందుకంటే. OK. కాబట్టి మొదటి లైన్ pseudocode యొక్క. ఎవరు pseudocode రెండవ లైన్ ఉంది? STUDENT 9: రెండు ఫైళ్లను ఓపెన్? జాసన్ HIRSCHHORN: రెండు ఫైళ్లను తెరువు. OK? STUDENT 10: తనిఖీ చేయండి ఫైలు NULL ఉంటే? జాసన్ HIRSCHHORN: చేయడానికి తనిఖీ ఖచ్చితంగా NULL ఒక్కటీ. ఒక పక్కన - 0 స్లాష్ - ఆ NULL ఉంది? STUDENT 11: నం జాసన్ HIRSCHHORN: ఆ NULL కాదు. ఆ NULL టెర్మినేటర్ అంటారు. ఇది నిజానికి కేవలం ఒక l తో పలుకుతారు. కాబట్టి ఆ వ్యతిరేకంగా ఏదో తనిఖీ - వాస్తవానికి ఒక పాత్ర - కాబట్టి వ్యతిరేకంగా ఏదో ఉంది తనిఖీ చూడటానికి తనిఖీ అదే కాకపోయినప్పటికీ NULL సమానం. మరియు కొన్ని - వారి క్విజ్ మరియు వారి సమస్య సెట్లు - వచ్చాయి అయోమయంలో ఆ రెండు. కానీ ఆ రెండు వివిధ నిజానికి. ఒక స్ట్రింగ్ ముగుస్తుంది - ఒక 0 ఒక పాయింటర్ ఉంది. STUDENT 12: ఎందుకు మీరు తనిఖీ లేదు ఫైళ్లు NULL లేని నిర్ధారించుకోండి మీరు వాటిని తెరవడానికి ముందు? జాసన్ HIRSCHHORN: అందుకే ఆదా ఫైల్ లో ఏదో. మరియు మీరు ఇక్కడ తిరిగి వెళ్ళి ఉంటే - ఈ లైన్ - fopen - మీరు ఒక చిరునామా మరియు స్టోర్ ఇస్తుంది ఇది పనిచేస్తుంది ఉంటే ఫైల్ లో ఆ చిరునామా. ఇది పని చెయ్యకపోతే, ఇది NULL నిల్వ చేస్తుంది - STUDENT 12: ఓహ్. OK. మీరు వచ్చింది. జాసన్ HIRSCHHORN: ఫైలు లో. కాబట్టి మీరు నల్ కోసం తనిఖీ లేదు మీరు వాటిని తెరిచిన ముందు. NULL ఏదో కాదు అర్థం సరిగ్గా పని. OK. కనుక ఎవరికీ చేయండి తనిఖీ? లేదా? మేము ఏమి ఆలోచిస్తాడు? మేము ఆ వెళ్తారో. STUDENT 13: ఈజ్. జాసన్ HIRSCHHORN: ఏమిటి? ఉంది ఏ? STUDENT 13: ఈజ్. జాసన్ HIRSCHHORN: OK. మేము కొన్ని కలిగి ఉంటాయి ఆ ఏకాభిప్రాయం. NULL ఉంది ఏ. OK, pseudocode తదుపరి లైన్. ఎవరు ఇంకా నాకు లైన్ ఇవ్వలేదు? మీరు కోసం వేచి ఉంటుంది. అవును. STUDENT 14: మీరు చదవడానికి కలిగి మొదటి ఫైల్ నుండి? జాసన్ HIRSCHHORN: OK. STUDENT 14: లేదా మేము fscanf ఉపయోగించడానికి లేదా మొదటి ఫైలు లాగ? జాసన్ HIRSCHHORN: కాబట్టి మేము కావలసిన మొదటి ఫైల్ నుండి చదివి - ఇక్కడే ఆ ఉంచారు తెలియజేయండి. మూలం ఫైలు నుండి చదవండి. ఆపై, మేము తర్వాత ఏమి చేస్తారు మూలం ఫైల్ నుండి చదివే? మరొకరి? STUDENT 15: వ్రాయండి లోకి గమ్యఫైల్? జాసన్ HIRSCHHORN: మేము వ్రాయడానికి గమ్యఫైల్, మరియు - OK. మేము మిగతా కనిపించట్లేదు? నాకు ఇచ్చిన పొందని మరొకరి ఇంకా కోడ్ యొక్క లైన్ - pseudocode యొక్క. అవును. STUDENT 16: బహుశా మీరు ఎల్లప్పుడూ తనిఖీ చేయవచ్చు అని చదివేందుకు విషయం ఏదైనా, తదుపరి లైన్ వంటి? తదుపరి లైన్ వంటి అని, ఇది ఉన్నట్లయితే చూడండి. [ELECTRONIC బీప్] జాసన్ HIRSCHHORN: Oops. నా జర్నలింగ్ సాఫ్ట్వేర్. అవును? STUDENT 16: అవును. జాసన్ HIRSCHHORN: కాబట్టి ఇవ్వాలని ఇది నాకు మరొకసారి. STUDENT 16: ఉంది లేదో చెక్ నుండి ఇప్పటికీ ఒక తదుపరి లైన్ చదవడానికి మూలం ఫైల్. జాసన్ HIRSCHHORN: OK. కాబట్టి మేము పంక్తులు చదివిన లేదు - ఇక్కడ బైట్లు చదివిన - కానీ మీరు సరైన ఉన్నారు. మేము వరకు చదివి రాయాలనుకుంటున్నాను ఎక్కువ బైట్లు ఉన్నాయి. OK. కాబట్టి ఈ నిజంగా ఇండెంట్ ఉండాలి ఒక బిట్, వారు అక్కడ క్రింద ఉన్నారు ఎందుకంటే. కుడి? బైట్లు లేదు, మేము చూడాలని మూలం ఫైలు నుండి చదవడం మరియు వ్రాయడం గమ్యం ఫైలుకు. మరియు, గత ఏమిటి pseudocode లైన్? ఇవ్వడం లేదు ఎవరైనా నాకు ఏదో ఇంకా. STUDENT 17: ఫైళ్లు Close? జాసన్ HIRSCHHORN: ఖచ్చితంగా. ఫైళ్లను మూసివేయండి. మా pseudocode ఉంది. నేను లోకి pseudocode ఉంచారు వెళుతున్న gedit, మరియు నిమిషాల ఒక జంట లో మేము కలిసి ఈ కోడ్ చేశారు. OK. మాకు ఒక సమూహంగా ప్రారంభించడానికి లెట్. నిషాంత్ నా కొత్త ఫైలు కలిగి. నేను ఈ అప్ తెరిచిన. శీర్షికలేని పత్రం 1. నేను చెయ్యాలి మొదటి విషయం ఏమిటి? నిషాంత్: గ్రంథాలయాలు చేర్చండి? జాసన్ HIRSCHHORN: OK. ఏ గ్రంధాలయాలు? నిషాంత్: stdio.h, stdlib.h, నేను నమ్మకం? జాసన్ HIRSCHHORN: OK. కోసం stdlib ఏమిటి? నిషాంత్: నేను మర్చిపోయాను. జాసన్ HIRSCHHORN: OK. కాబట్టి stdio ఉన్నాయి. నేను కూడా ముందు ఏమి చేయాలి నేను కోడింగ్ మొదలు? నిషాంత్: ఒక శీర్షిక వ్రాయండి? జాసన్ HIRSCHHORN: ఎలా ఇది రంగు నేను పెట్టాలి? [INTERPOSING వాయిసెస్] నిషాంత్: ఎలా మీరు రంగు వస్తుందా? జాసన్ HIRSCHHORN: ఎలా నేను కోడింగ్ రంగు చెయ్యాలి? నిషాంత్: నేను తెలియదు. ఓహ్. సేవ్. జాసన్ HIRSCHHORN: సేవ్. అవును. నేను ఒక. సి గా సేవ్ ఉండాలి. కాబట్టి cp.c. వంటి డెస్కుటాప్పులో సేవ్ స్వీట్. నేను పూర్తి తరహా పొందుటకు కావాలా పాయింట్లు, ఏమి తప్పక నేను ఎగువన ఉన్నాయి? నిషాంత్: మీరు మీ పేరు, పేరు రాస్తుంది కార్యక్రమం, మరియు ప్రయోజన అలాగే కార్యక్రమం? జాసన్ HIRSCHHORN: బాగుంది. అద్భుతమైన. కాబట్టి మీరు ఖచ్చితంగా మాకు ఆఫ్ మొదలుపెట్టారు చేసిన. # ఉన్నాయి - మేము కూడా వ్రాయండి చేస్తాము - OK. కాబట్టి నేను అన్ని వెళ్ళడానికి సెట్ అనుకుంటున్నాను. ఎవరు నాకు కోడ్ మొదటి లైన్ ఉంది - లేదా కోడ్ మొదటి పంక్తులు ఇది మా మొదటి సంతృప్తి పడుతుంది pseudocode లో మీరే? మీరు. STUDENT 18: అది Int ఉండకూడదు argc, ఆపై చార్ * argv? జాసన్ HIRSCHHORN: నేను మీరు కుడి ఉన్నాము. యొక్క ప్రధాన ఓపెన్ బ్రాకెట్ పూర్ణాంకానికి మార్చడానికి లెట్, Int argc, కామా, చార్ * argv? ఆ వంటి? STUDENT 18: బ్రాకెట్లలో. జాసన్ HIRSCHHORN: బ్రాకెట్లలో. ఓపెన్ బ్రాకెట్, దగ్గరగా బ్రాకెట్, Close మాతృ. పర్ఫెక్ట్. ఇప్పుడు నేను ఆదేశ పంక్తి వాదనలు పడుతుంది. OK. మేము రెండు ఫైళ్లు ఇచ్చిన చేస్తున్నారు నిర్ధారించుకోండి. మీరు అలాగే నాకు ఆ ఇస్తుంది. STUDENT 18: argc ఉంటే - ఈ ఒక 3 సమానంగా లేదు. జాసన్ HIRSCHHORN: ఉంటే ఓపెన్ బ్రాకెట్ 3 argc సమాన లేదు? STUDENT 18: అవును, మీరు తిరిగి 1 లేదా ఏదైనా. జాసన్ HIRSCHHORN: క్షమించండి. STUDENT 18: రిటర్న్ 1 లేదా ఏదైనా. జాసన్ HIRSCHHORN: 1 తిరిగి. OK? గ్రేట్. రెండు ఫైళ్ళను తెరవడానికి. ఎవరు నాకు రెండు ఫైళ్ళను తెరవడానికి సహాయపడుతుంది? ఎవరు ఇంకా నాకు కోడ్ ఇవ్వలేదు? కర్ట్? KURT: కాబట్టి అన్ని టోపీలు F-I-L-E స్టార్ మూలం. జాసన్ HIRSCHHORN: నేను వెళుతున్న అచ్చులు తీసుకోవాల్సి. ఆ బాగున్నాయి. ఇది Tumblr వంటిది. STUDENT 18: fopen సమానం - జాసన్ HIRSCHHORN: fopen సమానం? STUDENT 18: ఓపెన్ బ్రాకెట్, argv, ఓపెన్ బ్రాకెట్. జాసన్ HIRSCHHORN: వేచి. క్షమించాలి. ఓపెన్ బ్రాకెట్. OK. STUDENT 18: అవును. Argv ఉప 1. జాసన్ HIRSCHHORN: సబ్ 1? STUDENT 18: అవును. Argv ఓపెన్ బ్రాకెట్ 1 - అవును. ఆపై కామా, ఆపై ద్వంద్వ కోట్, r, డబుల్ కోట్, దగ్గరగా బ్రాకెట్, సెమికోలన్. జాసన్ HIRSCHHORN: స్వీట్. మరియు ఇతర గురించి? STUDENT 18: సమానమైన, కానీ బదులుగా S-R-C యొక్క, మీరు D-S-T కాల్ ఇష్టం. జాసన్ HIRSCHHORN: Oo! నేను ఇష్టం. STUDENT 18: జస్ట్ D-S-T. అవును. మరియు తర్వాత, 2 ఓపెన్ బ్రాకెట్ argv. అవును. ఆపై w బదులుగా r. అవును. జాసన్ HIRSCHHORN: గ్రేట్. రేఖల తదుపరి జంట. అలాగే, ఎవరైనా జోడించడానికి విషయాలు కలిగి ఉంటే మేము చేసిన ఆ లైన్లు, సంకోచించకండి అలాగే ఆ జోడించండి. ఖచ్చితంగా ఏ NULL ఉంది కు చెక్. ఎవరు నాకు నేను అవసరం వున్నాడాయే pseudocode లైనును సంతృప్తి? ఆర్చర్. ARCHER: src సమానం సమానం ఉంటే NULL లేదా DST సమానం సమానం NULL, అప్పుడు మీరు తిరిగి - జాసన్ HIRSCHHORN: ఏమిటి? ARCHER: 2 చెప్పేవారట జాసన్ HIRSCHHORN: 2 తిరిగి. కాబట్టి ఓపెన్ బ్రాకెట్ src సమానం NULL సమానం, లేదా - ఆ thing's సంసార - పైపు? పైప్? మేము పైపు కాల్ చేస్తాము. పైప్, పైపు, DST సమానం సమానం NULL, 2 తిరిగి. OK? బైట్లు లేదు వరకు - మేము విధమైన నుండి ఈ దశను పైగా దిగింది ఇక్కడ వెళ్లి pseudocode భాగంగా. కానీ వరకు బైట్లు లేదు - ఆ ధ్వని వంటి దేనిని? సి నిర్మాణం ఏ రకం - కానీ నేను పదం నిర్మాణం ఉపయోగించవు, మేము ఉపయోగించి ఆరంభమవుతుంది ఎందుకంటే ఇతర సందర్భాలలో - కానీ సి సాధనం వంటి ధ్వని చేస్తుంది? STUDENT 19: ఒక లూప్. జాసన్ HIRSCHHORN: ఒక లూప్. ఒక లూప్ లాగా. కాబట్టి నాకు మొదటి లైన్ ఇస్తుంది ఇక్కడే లూప్ కోడ్ యొక్క? మీరు కూడా ఎంచుకోవచ్చు ఏమి రకమైన మీరు నాకు ఇవ్వాలని ఉంటే లూప్ మీరు, కావలసిన లైన్. మూడు రకాలున్నాయి. మీరు ఎంచుకోవలసి పొందుటకు. నేను వారిలో సూచిస్తాయి. Avi. మీరు ఏ అనుకుంటున్నారు? AVI: కోసం. జాసన్ HIRSCHHORN: కోసం. AVI: నేను సున్నా సమానం INT. జాసన్ HIRSCHHORN: OK. AVI: నేను గురించి తెలియదు ఈ భాగం. కానీ నేను పరిమాణం కంటే తక్కువ స్టార్ వనరు యొక్క? నేను ఖచ్చితంగా తెలియదు. జాసన్ HIRSCHHORN: OK. మీరు ఎందుకంటే: AVI ఒక ఫైలు పరిమాణం, కుడి? జాసన్ HIRSCHHORN: ఈ బహుశా రెడీ మాకు అసలు పరిమాణం ఇవ్వాలని బైట్లు లో దాఖలు. సిఐ చేయగల? లూప్ మరొక రకం ఏమిటి? లేదా మేము కోసం లూప్ కొనసాగించు చేయాలి? STUDENT 20: మీరు ఒక లూప్ చేయండి కాలేదు? ఆపై, మీరు ఏమి ఇష్టం you'd ఉంది - మేము ఫైల్ కోసం ఒక చార్ * ఎందుకంటే. మేము పెంచడం ఉంచడానికి కాబట్టి ఆ మేము NULL పాత్ర కనుగొనేందుకు కావలసిన వరకు అది ముగింపు? లేదా ఏ, ఫైళ్లు ఎలా పని ఉంది? జాసన్ HIRSCHHORN: కాబట్టి మేము ఉంచుకోవచ్చు చార్ * పెంచడం మేము NULL కనుగొనేందుకు వరకు - STUDENT 20: ముఖ్యంగా కొనసాగించడాన్ని పాత్ర పాత్ర మేము హిట్ వరకు ఫైలు చివర. జాసన్ HIRSCHHORN: అవును. కాబట్టి మేము మీరు ఏమి ఉంది. మేము చదివే, పాత్ర ఉంచాలని పాత్ర ద్వారా, మేము ను వరకు ఫైలు చివర. STUDENT 20: అవును. కనుగొనండి - ముగింపు లేదా స్టాప్ సైన్ ఏమిటి ఒక టెక్స్ట్ ఫైలు చివర. జాసన్ HIRSCHHORN: OK. కాబట్టి మేము ఫైలు యొక్క ముగింపు పొందుటకు - ఎలా మేము చేరుకున్నారు తెలుసు ఒక ఫైల్ చివరలో? నేను కాల్ వెబ్ ఉంటే - కాబట్టి యొక్క తిరిగి అడుగు తెలియజేయండి. ఒక ఫంక్షన్ ఏమిటి? ఇక్కడే ఈ లైన్ వెళదాం. మూలం ఫైలు నుండి చదవండి. ఎవరు నాకు కోడ్ లైనును ఇస్తుంది? STUDENT 21: fscanf? జాసన్ HIRSCHHORN: fscanf. OK. నేను చదవండి అనుకుంటే, చాలా ప్రత్యేకంగా, ఒక బైట్? STUDENT 21: నేను తెలియదు. జాసన్ HIRSCHHORN: OK. Fscanf కంటే కూడా సరళంగా - ఒక ఏమిటి - నేను ఒక మూలం ఫైల్ నుండి చదవాలనుకుంటున్న? ఒక మూలం ఫైల్ నుండి చదవండి. ఒక ఫంక్షన్ ఏమిటి - అవును. STUDENT 22: ఇది fread ఉంది? జాసన్ HIRSCHHORN: fread. నేను యొక్క కొనసాగించు వీలు అనుకుంటున్నాను ఇప్పుడు ఆ ఒక. వాదనలు ఏ విధమైన fread పడుతుంది? STUDENT 22: బహుశా ఫైలు రకం, ఆపై ఫైలు లో నగర? జాసన్ HIRSCHHORN: నేను ఇక్కడ ఏమి టైప్ చెయ్యవచ్చు గుర్తించడానికి వాదనలు రకం fread పడుతుంది? బహుళ విద్యార్థులు: ద fread. జాసన్ HIRSCHHORN: ద fread మరియు fwrite. వారు కలిసి సమావేశాన్ని కనిపిస్తోంది. కాబట్టి fread ఎన్ని వాదనలు పడుతుంది? STUDENT 23: నాలుగు. జాసన్ HIRSCHHORN: ఇది పడుతుంది నాలుగు వాదనలు. ఇది ఒక పాయింటర్, ఒక పరిమాణం పడుతుంది, మరియు ఆ విచిత్రమైన ఇది విషయం, మరియు కొన్ని ఫైల్. OK? ఇక్కడే దాని గురించి చదవండి. "ఫంక్షన్ fread n memb చదువుతుంది డేటా అంశాలు, ప్రతి పరిమాణం బైట్లు దీర్ఘ, స్రవంతి ద్వారా చూపారు స్థానంలో వాటిని నిల్వ, స్ట్రీమ్ పాయింటర్ ఇచ్చిన. " అందువలన నాలుగు వాదనలు. ఎందుకు నేను ఈ కాపీ లేదు, మరియు ఇక్కడ అతికించండి. OK. కాబట్టి నింపడం ప్రారంభించవచ్చు నాకు ఈ వాదనలు? Avi. AVI: శూన్యమైన చేద్దామని. కేవలం src ఉంచండి. పాయింటర్ మరియు స్టార్ చేద్దామని. Src ఉంచండి. అప్పుడు - జాసన్ HIRSCHHORN: నేను ఆపడానికి వెళుతున్న అక్కడ మీరు, ఆ తప్పు ఎందుకంటే. మీరు src తో ఉన్నాము, కానీ src పేరు వెళ్ళాలి? [INTERPOSING వాయిసెస్] జాసన్ HIRSCHHORN: ఇది తప్పక ఇక్కడ వెళ్ళి. ఆ src - మా src రకం. యొక్క ఇక్కడ చూద్దాం. ఈ ఒక రకం ఫైల్ * అడుగుతోంది, మేము నిజానికి సాధారణంగా ఆ వంటి వాటిని చూడండి. కాబట్టి ఈ యొక్క వాదన అడుగుతోంది * src అని అని స్ట్రీమ్ టైపు. OK? పనులు ఏ పరిమాణం మేము చదవడానికి కావలసిన? నేను మీరు ఈ ఇచ్చింది సమస్య వివరణ. STUDENT 24: ఒక సమయంలో ఒక బైట్. జాసన్ HIRSCHHORN: ఒక బైట్. బైట్ ఎలా పెద్దది? దీని పరిమాణం బైట్లు ఉంది, కాబట్టి ఏమి నేను అక్కడ ఉంచవచ్చు? STUDENT 25: ఒక. జాసన్ HIRSCHHORN: ఒక. కుడి. దీని పరిమాణం యూనిట్ బైట్ లో ఉంది, కాబట్టి 1 1 బైట్ ఉంది. నేను ఒక సమయంలో చదవటానికి ఎన్ని అనుకుంటున్నారు. STUDENT 26: ఒక? జాసన్ HIRSCHHORN: ఒక విషయం. నేను పరిమాణం యొక్క ఒక విషయం చదవాలనుకుంటున్న 1, ఒక సమయంలో ఒక కాటు. నేను చదివిన మరియు ఒకసారి అక్కడ, ఇది ఉంచగలను? STUDENT 27: గమ్యం? జాసన్ HIRSCHHORN: నేను చాలు కాదు ఇది నేరుగా గమ్యం. STUDENT 28: గొన్న పుట్ ఉన్నారు ఇది మూడవ పాయింటర్? STUDENT 27: గమ్యానికి. జాసన్ HIRSCHHORN: OK. అవును. STUDENT 29: మీరు ఏదో ప్రకటించవచ్చు తాత్కాలిక నిల్వ ముందు పని. జాసన్ HIRSCHHORN: OK. నాకు ఇవ్వండి. STUDENT 29: మరో ఫైలు పాయింటర్, బహుశా? జాసన్ HIRSCHHORN: OK. కాబట్టి ఈ తప్ప నక్షత్రం - ఇది ఒక టైప్ తప్ప తార, కాబట్టి అది లేదు ఒక ఫైలు పాయింటర్ ఉండాలి. నేను ఒక బైట్ వింటున్నాను ఉంటే, ఒక మంచి ప్రదేశం ఉంటుంది పేరు ఒక బైట్ నిల్వ? STUDENT 29: ఒక అమరిక? జాసన్ HIRSCHHORN: ఒక అమరిక. OK. మరియు ఏదో ఏమి ఉంది కేవలం ఒక బైట్ పరిమాణం? STUDENT 30: ఒక చార్ *? STUDENT 29: అవును. జాసన్ HIRSCHHORN: ఒక చార్ * ఒక బైట్ కాదు. STUDENT 29: ఒక చార్. జాసన్ HIRSCHHORN: ఒక చార్ ఒక బైట్ ఉంది. కుడి? కాబట్టి యొక్క ఈ బఫర్ కాల్ ఒక సాధారణ ఉంది నిల్వ ఈ విషయాలు కోసం ఉపయోగిస్తారు పేరు ఏదో తాత్కాలికంగా. నేను ఒక బఫర్ సృష్టించడానికి. కుడి? కానీ * శూన్యత పడుతుంది. కాబట్టి బహుశా మీరు, కుడి అని ఇది పరిమాణం 0 యొక్క బఫర్ ఉండాలి. కాబట్టి ఇది ఒక నిల్వ - కుడి. ఎందుకంటే ఇక్కడ ఈ కుడి - చార్ బఫర్ ఒక పాత్ర, కానీ ఈ * శూన్యత పడుతుంది - ఒక పాయింటర్. నేను ఇప్పుడు దీన్ని కాలేదు బఫర్ ఒక పాయింటర్ ఉంది. నేను ఇంకా ఏమి కాలేదు? STUDENT 31: చార్ పక్కన ఒక స్టార్ ఉంచండి. జాసన్ HIRSCHHORN: నేను ఇది * చార్ సృష్టించారు. OK. నేను చేయగల మరొక విషయం ఏమిటి? లేదా యొక్క ఈ ఒక వీడలేదు. చార్ * బఫర్, కాబట్టి నేను ఇక్కడ ఉంచగలను? STUDENT 31: బఫర్. జాసన్ HIRSCHHORN: బఫర్. బఫర్ ఒక చార్ ఒక పాయింటర్ ఉంది. మరియు ఆ ప్రదేశంలో, మేము చూస్తూ మేము చదివిన దానివల్ల ఒకటి బైట్. అవును. Avi. AVI: కేవలం శీఘ్ర ప్రశ్న. మీరు బఫర్ malloc అనుకుంటున్నారు? జాసన్ HIRSCHHORN: చెయ్యగలరు రచయిత? STUDENT 32: Well, ఇది నిజంగా ప్రస్తుతం ఏదైనా పాయింట్, కాబట్టి - జాసన్ HIRSCHHORN: కానీ మేము అది malloc అనుకుంటున్నారా? STUDENT 32: మీరు దీన్ని ఉంటే ఆ మీరు అవసరం కావలసిన ఎందుకంటే మార్గం, నేను, అవును, అంచనా అది సూచించడానికి ఆకట్టుకోలేక. జాసన్ HIRSCHHORN: మేము చేయండి ఇది malloc ఉంటుంది? STUDENT 33: మీరు వెళ్ళి ఉంటే లూప్ బయట అది ఉపయోగించే. జాసన్ HIRSCHHORN: మేము వెళుతున్నారా లూప్ బయట అది ఉపయోగించే? STUDENT 34: అవును. STUDENT 35: వేచి. మేము ప్రకటించాలని లేదు దాటి లూప్ లో? జాసన్ HIRSCHHORN: కాబట్టి మనం కలిగి అంచనా ఇక్కడ మేము కొన్ని నకిలీ WHILE లూప్ , ఆశించాను ఆ మేము ఇంకా సంపాదించిన లేదు. మేము malloc అవసరం లేదు. మేము ప్రధాన ఆపరేటింగ్ చేస్తున్నారు, ఇది మాత్రమే జరగబోతోంది ఈ లూప్ లోపల ఉపయోగించడం. ఇది ఉనికిలో అవసరం లేదు ఈ వెలుపల. కనుక ఇది ఒక స్థానిక వేరియబుల్ ఉంటుంది. మీరు ఒక పాయింటర్ ఉంటుంది స్థానిక వేరియబుల్. STUDENT 36: కానీ కాదు ఏదైనా సూచించే. జాసన్ HIRSCHHORN: కాదు, అది కాదు ఏదైనా కు initialized. కానీ మేము కూడా ఉపయోగించడానికి వెళ్ళి లేదు. మేము ఏదో పెట్టి చూడాలని ఇది మొదటిసారి మేము అది ఉపయోగించే. కాబట్టి ఆ సరే తెలుస్తోంది. కాబట్టి మేము ఇక్కడ malloc అవసరం లేదు. నేను ఉంది ఇది OK అని. OK. మేము fread లైన్ కలిగి. యొక్క తదుపరి లైన్ తెలియజేసేలా. మేము ఒక ఫైల్ వ్రాయడం చేయాలనుకుంటే, ఏమిటి అలా ఉపయోగించడానికి మంచి ఫంక్షన్? STUDENT 37: fwrite? STUDENT 38: fprintf? జాసన్ HIRSCHHORN: fprintf ఒకటి. మరో ఒకటి ఏమిటి? STUDENT 39: fwrite. జాసన్ HIRSCHHORN: fwrite. మరియు ఏవండీ, fwrite, మేము ఇక్కడ చూసిన, ఉంది బహుశా మంచి ఎంపిక. ఇది అలాగే నాలుగు ఆర్గ్యుమెంట్స్. నిషాంత్ మీరు ఇవ్వగలిగిన వాదనలు నాకు? నిషాంత్: మొదటి ఒక నడుస్తున్న కేవలం బఫర్ ఉండాలి. జాసన్ HIRSCHHORN: OK. నిషాంత్: రెండవ యొక్క కేవలం 1 చేస్తాడు. మూడవ ఒక 1 చేస్తాడు. మరియు నాలుగో ఒక DST అన్నారు. జాసన్ HIRSCHHORN: ఎవరైనా ఉంటాయా ఆ లైన్ గురించి ఏ ప్రశ్నలు? ఆ బాగుంది. OK. కాబట్టి ఇప్పుడు మేము ఉన్నాము ఒక విషయం కనిపిస్తోంది లేదు - నిజానికి, యొక్క వ్రాయడానికి వీలు ఈ చివరి పంక్తి. ఫైళ్లను మూసివేయండి. ఎవరు రచన మాకు ముగించవచ్చు ఈ చివరి రెండు పంక్తులు? అవును. క్షమించాలి, మీ పేరు ఏమిటి? LUCY: లూసీ. జాసన్ HIRSCHHORN: లూసీ. LUCY: అప్పుడు fclose src మరియు fclose గమ్యం. జాసన్ HIRSCHHORN: fclose, ఓపెన్ బ్రాకెట్, src, దగ్గరగా బ్రాకెట్, సెమికోలన్. మరియు fclose - అవును? LUCY: ఓపెన్ బ్రాకెట్లు DST ఆపై సెమికోలన్. జాసన్ HIRSCHHORN: గ్రేట్. నేను చివరిలో ఏమిటో కూడా ఉండాలి? LUCY: 0 తిరిగి. జాసన్ HIRSCHHORN: 0 తిరిగి. నేను ఉందా? జస్ట్ ఒక ప్రశ్న. మేము తిరిగి 0 చేర్చడానికి ఉందా? బహుళ విద్యార్థులు: నం జాసన్ HIRSCHHORN: నం ప్రధాన స్వయంచాలకంగా అది మీరు చివర వస్తే. కానీ నేను దానికి మంచిది భావించడం స్పష్టంగా ఉన్నాయి. మేము ఇతర తిరిగి చేస్తున్నారు, ముఖ్యంగా కార్యక్రమం అంతా విషయాలు. OK. ఈ బదులు చెప్పలేకపోయింది ఏమిటి - ఏం? కొందరు ఆలోచించవచ్చు - కొన్ని భావన ఉంది ఏమి విషయాలు అక్కడ వెళ్ళటానికి? ఇది కేవలం కొన్ని pseudocode లో అయినా భాష వంటి? మేము నిజంగా ఏమిటి - ఏమి మేము వరకు వెళ్ళడానికి కోరుకుంటున్నారు? అవును, లూసీ. LUCY: ఫైలు చివర. జాసన్ HIRSCHHORN: ఫైలు చివర. కాబట్టి మీరు ఫైల్ యొక్క ముగింపు ద్వారా ఏమిటి? LUCY: మీరు చేరుకోవడానికి ఫైలు చివర, ఆపడానికి. జాసన్ HIRSCHHORN: OK. కాబట్టి ఒకసారి మేము ఫైలు ముగింపు చేరుకోవడానికి. మేము చేరుకున్నారు ఉన్నప్పుడు మేము ఎలా తెలుసు ఫైలు చివర? STUDENT 40: నేను బఫర్ అనుకుంటున్నాను NULL అమర్చబడుతుంది. STUDENT 41: బఫర్ ప్రకటిస్తారు లూప్ లోపల. జాసన్ HIRSCHHORN: మీరు అనుకుంటున్నాను బఫర్ NULL అమర్చబడుతుంది. ఎందుకు శూన్య సెట్ బఫర్ చేస్తుంది? STUDENT 40: మీరు ఎందుకంటే fread, మీరు చాలు ప్రయత్నిస్తున్న బఫర్ లోకి ఏమీ. జాసన్ HIRSCHHORN: OK. కాబట్టి మీరు fread అనుకున్నది - మేము ముగింపు చేరుకున్నారు ఉన్నప్పుడు ఫైలు, ఏ fread చేయబోవడం? నేను ప్రశ్న అనుకుంటున్నాను మేము గుర్తించడానికి కలిగి. Fread ఏమి చేస్తుంది? ఇది బఫర్ లో NULL చాలు, లేదా లేదు అది ఏదో చేస్తుంది? మేము ఎలా ఏమి గుర్తించడానికి చేయవచ్చు? STUDENT 42: ద. జాసన్ HIRSCHHORN: ద. కాబట్టి యొక్క ఇక్కడ చూద్దాం. విలువ తిరిగి. విజయం, fread మరియు తిరిగి fwrite చదవడానికి లేదా వ్రాసిన అంశాల సంఖ్య. ఈ సంఖ్య బైట్లు సంఖ్య సమానం పరిమాణం 1 మాత్రమే బదిలీ. లోపం సంభవిస్తుంది, లేదా ముగింపు ఉంటే ఫైలు చేరుకున్న, తిరిగి విలువ ఒక ఉంది చిన్న అంశం లెక్కింపు లేదా 0. కాబట్టి ఏవండీ, ఉంటే fread చేరుతుంది ఫైలు చివర, మరియు నుండి చదువుతుంది ఫైలు చివర, లేదని ఉంది చదవడానికి, అది తిరిగి వెళుతున్న? STUDENT 43: జీరో? జాసన్ HIRSCHHORN: ఏమిటి? STUDENT 43: జీరో? జాసన్ HIRSCHHORN: జీరో. ఇది సున్నా తిరిగి వెళుతున్న. కనుక మేము చేసిన ఆ fread, తెలుసు ఫైల్ ముగింపు చేరుకున్నారు, అన్నారు సున్నా తిరిగి. ఎలా మేము మా ప్రయోజనం ఆ ఉపయోగించవచ్చు? AVI: మీరు బయట వేరియబుల్ ప్రకటించవచ్చు చెక్ అని లూప్. చెక్ సమానం, - ఇప్పుడు కోసం - ఒక. జాసన్ HIRSCHHORN: OK. AVI: ఆపై మీరు ఒక IF ఉంచవచ్చు కుడి fread చెప్పిన తరువాత ప్రకటన ఉంటే fread సున్నా సమానం - ఏ. జాసన్ HIRSCHHORN: ఎవరు Avi సహాయం? AVI: విలువ ఏమిటి fread ద్వారా తిరిగి? జాసన్ HIRSCHHORN: మేము ఆ పైగా జరిగింది. AVI: మీరు ఎలా ప్రతిబింబించవు? జాసన్ HIRSCHHORN: కాబట్టి తిరిగి - లెట్స్ ఇక్కడ వెతకండి - ఇది ఒక తిరిగి ముఖ్యంగా ఇది size_t, పూర్ణాంకం. కాబట్టి పూర్ణాంకం తిరిగి. మన విషయంలో, అది 1 లేదా 0 తిరిగి - 1 ఇది ఒక విషయం చదివితే - ఒక బైట్, మరియు 0 మేము ముగింపు చేరుకున్నారు ఉంటే. కాబట్టి fread ఉంటే - అవును? STUDENT 45: మీరు పూర్తి పెట్టలేదు లోకి fread (బఫర్, 1, 1, src) లూప్? జాసన్ HIRSCHHORN: మీరు ప్రపోజ్ అక్కడ ఈ చేయడం? [INTERPOSING వాయిసెస్] జాసన్ HIRSCHHORN: పట్టుకో. కాబట్టి మేము ఆ ridding చేస్తున్నారు. కాబట్టి మీరు పెట్టటం ఏమీ నచ్చలేదు fread ఉన్నాయి లోకి? మనం కూడా కదిలించాలి మీరు అలా అనుకుంటే? STUDENT 45: బయట బఫర్. జాసన్ HIRSCHHORN: మేము తప్పక కూడా ఇక్కడ ఈ బయటకు తరలించడం. STUDENT 45: కానీ చేసే నిరంతరం ముందుకు వెళ్ళడం? [INTERPOSING వాయిసెస్] జాసన్ HIRSCHHORN: OK. కాబట్టి ఈ Okshar ప్రతిపాదిత ఏమిటి. మేము మా బఫర్ సృష్టించడానికి. మేము WHILE fread, అప్పుడు మేము fwrite. ఈ ఆలోచనలు? STUDENT 46: నా ప్రశ్న, ఆ ఉంది నిజానికి ఆదేశం fread అమలు? జాసన్ HIRSCHHORN: గ్రేట్ ప్రశ్న. మీరు ఒక ఫంక్షన్ కాల్ ఉంచడం చేసినప్పుడు ఒక పరిస్థితి యొక్క లోపల, ఆ చేస్తుంది ఫంక్షన్ కాల్ అమలు? మేము ఈ ముందు ఉదాహరణలు చూసిన. కుడి? STUDENT 46: OK. అవును. కాబట్టి అది అమలు చేస్తుంది. జాసన్ HIRSCHHORN: మేము పుస్తకం ఆ ముందు, మేము కలిగి ఉన్న వంటి ఒక పరిస్థితి యొక్క లోపల ఫంక్షన్ కాల్. ఆ ఫంక్షన్ కాల్ అమలు లేదు? అవును. కాబట్టి జవాబు అవును. ఈ ఫంక్షన్ కాల్ నిర్వర్తిస్తుంది. కానీ మళ్ళీ, అది మేము ఏమి ఉంది? మేము గుర్తించడానికి ఒక మార్గం ఏమిటి ఇది మేము ఏమి ఉంది బయటకు ఉంటే? బహుళ విద్యార్థులు: అమలు? జాసన్ HIRSCHHORN: మేము అమలు కాలేదు. మేము ఆ ముందు, మేము అని ఈ ద్వారా కారణం. ఉంటే - మేము ఒక బైట్ కలిగి చెప్పటానికి మేము ఇక్కడ చూస్తారు, దాఖలు, మేము ఈ కోడ్ ను చేస్తాము. ఈ రన్ చేస్తుంది. fread ఒక బైట్ తిరిగి మరియు ఉంటుంది ఇది బఫర్ లో నిల్వ. మరియు ఈ, 1 విశ్లేషించదు చేస్తుంది కుడి, తర్వాత అతను 1 తిరిగి. కాబట్టి WHILE 1. ఆ లోపల కోడ్ ఉన్నదా WHILE లూప్ నిర్వర్తిస్తుంది? STUDENT 47: అవును. ఇది నిజం. జాసన్ HIRSCHHORN: అవును. 1 వర్తిస్తుంది. ఇది 0 కాదు. ఇక్కడ లోపల కోడ్ నిర్వర్తిస్తుంది. కాబట్టి మేము రాయడానికి మీరు. మేము ఈ అసహనంగా చేస్తాము లైన్ మరోసారి. ఇప్పుడు మనం - మన ఫైల్ చివరిలో. మేము మా ఫైల్ ముగింపు నుండి చదవడానికి, మేము మాత్రమే అది ఒక బైట్ ఎందుకంటే. Fread 0, దుకాణాలు తిరిగి బఫర్ లో ఏదో. నిజాయితీగా తెలియదు ఇది బఫర్ లో నిల్వ. మేము బహుశా అప్ కనిపించాలి అది చూడటానికి. నిజాయితీగా తెలియదు. మేము ఏమి అడిగే వారు, తెలియదు ఇది బఫర్ లో నిల్వ? కానీ 0 తిరిగి లేదు. మరియు 0 అమలు చేస్తారు? 0 అమలు కాదు. కాబట్టి అప్పుడు మేము ఇక్కడ క్రిందికి తరలించడానికి చేస్తాము. కాబట్టి యొక్క చేతులు పైకెత్తి ఉండకుండా ఈ ఉంటే మేము అమలు, లేదా మేము చేయాలి కోడ్ ఉంది మొదటి మార్పులు చెయ్యాలి. మీరు అనుకుంటే కాబట్టి - మీరు ఓటు కలిగి. మీరు మేము ఈ కోడ్ అమలు అనుకుంటే యధాతథంగా, మీ చేతి పెంచడానికి దయచేసి. OK. ఒక ఉంది - మీరు ఒక ప్రశ్న, ఆందోళన ఉన్నాయి? అవును. STUDENT 48: మేము బఫర్ దాని తర్వాత లూప్ వెలుపల, మేము ఇది malloc ఉంటుంది? జాసన్ HIRSCHHORN: గ్రేట్ ప్రశ్న. మేము బయట బఫర్ దాని తర్వాత లూప్, మేము అది malloc ఉన్నాయి? ఈ ఒక పరిధిని ప్రశ్న. మేము బయట బఫర్ ప్రారంభించడం ఉంటే ఈ లూప్ యొక్క, ఇది ఉనికిలో ఉంటుంది లూప్ యొక్క లోపల? బహుళ విద్యార్థులు: అవును. జాసన్ HIRSCHHORN: అవును. దీని లూప్ యొక్క లోపల వర్తిస్తుంది మరియు, నిజంగా, ఏదైనా లోపల క్రింది సహా ఈ కోడ్ యొక్క ఇక్కడ లోపల విషయాలు. కాబట్టి మేము అది malloc అవసరం లేదు. ఇది ఒక స్థానిక వేరియబుల్, మరియు దాని పరిధిని ఇప్పటికీ లూప్ కలిగి. STUDENT 49: మేము ఇది ఉచితం చేయాలి? జాసన్ HIRSCHHORN: మేము చేయండి ఉచిత బఫర్ అవసరం? STUDENT 49: అవును, మేము malloc లేకపోతే. జాసన్ HIRSCHHORN: మేము చేయండి ఉచిత బఫర్ అవసరం? మేము లేదు. మళ్ళీ, అది ఒక స్థానిక వేరియబుల్, కాబట్టి మేము ఇది ఉచితం చేయాలి లేదు. OK. యొక్క ఏమి చూద్దాం. కనుక ఇది అవినియోగిత ఉంది. ఆ ఏమి ఏదో అని మార్కస్ ముందు ప్రతిపాదించారు. కాబట్టి మేము ఆ లోపం, వేరియబుల్ బఫర్ కలిగి ఇక్కడ ఉపయోగించినప్పుడు అవినియోగిత ఉంది. మేము ఎలా పరిష్కరించడానికి? STUDENT 50: ఇది malloc? STUDENT 51: శూన్య సమానం? STUDENT 52: బఫర్ NULL సమానం. జాసన్ HIRSCHHORN: OK. బాగుంది. మేము ఇప్పుడు కలిగి. యొక్క కాపీ ప్రయత్నించండి ఏదో సృష్టించండి. కాబట్టి మేము మన టెక్స్ట్ ఫైల్ కలిగి. ఎలా మేము ఈ ప్రోగ్రామ్ రన్? అవును. STUDENT 53: మీరు డాట్ చేయవచ్చు cp, test.txt స్లాష్. ఆపై మీరు మరొక ఫైల్ పేరు చేయవచ్చు దీనిని భద్రపరచగల. జాసన్ HIRSCHHORN: OK. మేము out.txt పిలుస్తాను. కూల్? తప్పు Seg. Seg తప్పు ఆలోచనలు? ఈ గొప్ప ఉంది. ఎలా మేము తెలుసుకోవచ్చు పేరు seg తప్పు? ఏ? STUDENT 54: GDB. జాసన్ HIRSCHHORN: GDB. మేము, GDB డాట్ స్లాష్ వ్రాయడం ద్వారా GDB అమలు మా ప్రోగ్రామ్ యొక్క పేరు. ఏ ఆదేశ పంక్తి వాదనలు. మేము ఒక సెట్ చూడాలని ప్రధాన వద్ద బ్రేక్పాయింట్ని. నేను GDB ప్రారంభం కావాలి ఉంటే, నేను ఏమి చేస్తారు? STUDENT 55: ఆర్ ఆపై ఆర్ మరియు: జాసన్ HIRSCHHORN? STUDENT 55: వాదనలు? జాసన్ HIRSCHHORN: అప్పుడు ఆదేశ పంక్తి వాదనలు. నడవడానికి లెట్. N కేవలం లైన్ ద్వారా నాకు లైన్ తీసుకుంటోంది. నేను వెళ్ళి వెళుతున్న వరకు నా seg లోపం పొందండి. నా seg తప్పు ఉంది. Fread కారణంగా కనిపిస్తుంది నా seg తప్పు. నేను, fread నా seg తప్పు కారణంగా తెలిసిన ఆ ఎందుకంటే లైన్ మేము అమలు. మరియు అని మాత్రమే విషయం లైనును జరుగుతున్న - రెండు విషయాలు సంభవించే చేశారు. Fread వెళుతున్నాను, ఆపై మేము కొంతమంది తనిఖీ చేయడం. నేను పందెం సిద్ధంగా ఉన్నాను WHILE తనిఖీ నా seg తప్పు దీనివల్ల లేదు. ఎక్కువగా, fread ఉంది నా seg తప్పు దీనివల్ల. నేను కూడా ఇక్కడ ఏదో, memcopy చూడండి. మెమరీ కాపీ. నుండి మెమరీ కదిలే లాగా ఇతర ఒక స్థానాన్ని. జరుగుతుంది ఏదో వంటి ధ్వనులు fread, బహుశా కొన్ని మెమరీ ఇక్కడ ఇక్కడ నుండి కదిలే. మళ్ళీ వీలు. ఎలా నేను పైగా మొదలు మళ్ళీ అమలు? అవును. STUDENT 56: మీరు ఉంచాలి డు బఫర్ ముందు ఒక ఏంపర్సెండ్? జాసన్ HIRSCHHORN: ముందు చిహ్నం బఫర్ నాకు చిరునామా ఇచ్చి * ఒక చార్ ఇది బఫర్,. యొక్క ఈ మరొకసారి ద్వారా అమలు అనుమతిస్తాయి. నేను మరొకసారి ద్వారా రన్ చెయ్యాలి? STUDENT 57: మీరు కెన్ కేవలం మళ్ళీ పరుగుల టైప్? జాసన్ HIRSCHHORN: జస్ట్ మళ్లీ అమలు టైప్. కాబట్టి మేము వెళ్ళి లేదు ఈ లైన్ అమలు. కాబట్టి బఫర్ ఒక నల్ ఉంది. సరి? ఇది సూచించే - యొక్క చూసేలా. మేము, మా - ఈ యొక్క శీఘ్ర చిత్రాన్ని డ్రా. ఉంటే అందరూ చూడగలరు నేను ఇక్కడ మీద వ్రాసి? కాబట్టి స్టాక్ లో, మేము ఒక స్థానిక కలిగి వేరియబుల్ మరియు బఫర్ అని, మరియు ఇది ఒక చార్ ఒక పాయింటర్ ఉంది. ఏ చిరునామా ఈ చార్ ఉంది? STUDENT 58: 0x0. జాసన్ HIRSCHHORN: కుడి. ఈ ఏమిటి. ఇక్కడ లో, బఫర్ లోపల, 0x0 నిల్వ. ఆ మనం ఏమి - మేము ప్రస్తుతం సెటప్. కాబట్టి ఈ లైన్, fread, ఏదో ఉంచుతుంది పేరు మూలం నుండి? ఈ బాక్స్ లేదా ఈ పెట్టెలో? ఏ బాక్స్? బాక్స్ లేదా కుడి బాక్స్ ఎడమ? ఈ కుడి బాక్స్. ఇది పాయింటర్ క్రింది, మరియు ఇక్కడ దానిని. మేము ప్రయత్నించండి మరియు టచ్ మెమరీ చేసినప్పుడు నగర 0, మేము ఏమి వస్తుందా? విభజన లోపంగా. ఆ మేము ప్రస్తుతం లోపం. అవును. STUDENT 59: మీరు లేదు స్టార్ బఫర్ ఉంచాలి? ఏ లేదా? Fread కోసం? జాసన్ HIRSCHHORN: కాబట్టి fread ఒక పాయింటర్ పడుతుంది. కనుక ఇది బఫర్ లో వెళుతుంది. అది చేస్తాము డి సూచన ఎక్కడో fread లోపల. కానీ మళ్ళీ, మేము చూసిన, ఇది ఒక పాయింటర్ పడుతుంది. మేము స్టార్ బఫర్ పాస్ అవసరం లేదు. ఆ ప్రయాణిస్తున్న అవుతుంది యిదిగో సంసార. మరియు ఆ బహుశా మాకు లోపం ఇచ్చి మేము అది de-సూచిస్తూ ఉన్నందున. కుడి? మేము ఈ పాయింటర్ సూచన డి, వ్యాయామం మేము ఈ స్థానాన్ని ప్రాప్యత ప్రయత్నించండి, మేము తప్పు చేస్తున్నారు - మా విభజన లోపంగా. కాబట్టి - అయ్యో. మేము GDB నుండి నిష్క్రమించినప్పుడు చూడాలని. మా లైన్ - మా సమస్య - హక్కు ఇక్కడ ఈ లైన్. మరియు అది ఒక సమస్య ఎందుకంటే ఈ లైన్. ఎలా మేము ఒక బాక్స్ సృష్టించవచ్చు ఆ fread లో అందుబాటులో ఉంది. కుడి? మేము ఒకటి ఒక బాక్స్ సృష్టించాలి బైట్ పెద్ద, ఒక చార్ యొక్క పరిమాణం. కానీ మేము బాక్స్ అందుబాటులో ఉండాలి ఈ ఫంక్షన్ అమలు చేసినప్పుడు. కాబట్టి - అవును. ఏదైనా ఆలోచనలు? STUDENT 60: జస్ట్ గా సెట్ ఏదైనా యాదృచ్ఛిక పాత్ర. కేవలం చార్ బఫర్ సమానం చేయండి పాత్ర. ఆపై, మీరు అక్కడ బఫర్ తర్వాత - జాసన్ HIRSCHHORN: వేచి. చార్ బఫర్? కాబట్టి ఏ స్టార్? STUDENT 60: అవును. స్టార్ చేద్దామని. ఒక యాదృచ్ఛిక పాత్ర సమానం. జాసన్ HIRSCHHORN: OK. కాబట్టి నాకు ఒక ఇవ్వండి. STUDENT 60: ఇలా ఒక లేదా ఏదో. ఆపై మీరు బఫర్ ఉన్నప్పుడు అక్కడ, మీరు ఒక - STUDENT 61: స్టార్? అరెరే, ఏంపర్సెండ్. STUDENT 60: ఏంపర్సెండ్ ఉపయోగించండి. జాసన్ HIRSCHHORN: OK. మరియు fwrite లో గురించి? STUDENT 60: మళ్ళీ ఏంపర్సెండ్ ఉపయోగించండి. జాసన్ HIRSCHHORN: అన్ని కుడి. మీ ఆలోచన, మేము ఒక చార్ సృష్టించడానికి మరియు అది ఏదో చాలు, మరియు చార్ వ్రాయండి. STUDENT 60: అవును. జాసన్ HIRSCHHORN: ఏమిటి ప్రజలు అనుకుంటున్నారు? STUDENT 62: ఇది మెలికలు యొక్క. జాసన్ HIRSCHHORN: OK. యొక్క దాన్ని డ్రా లెట్. ఈ సమయంలో, నేను ఈ డ్రా వెళుతున్న మేము ఇక్కడ స్టాక్ ఎరుపు, మరియు న ఉంటుంది - ooh! క్షమించాలి. ఈ సమయంలో మేము అనే విషయం బఫర్ మరియు అది స్టాక్ ఉంది. సరి? మరియు మేము మొదట, ఇది ఒక లో సేవ్ చేస్తున్న. అప్పుడు మేము fread మా కాల్. ఏ fread దాని నుండి ఒక బైట్ తీసుకుంటుంది లేదు మా ఫైలు మరియు ఎక్కడా అది ఉంచుతుంది. ఇది సంసార దానిని విషయం సూచించే. బాగా, మేము ఈ చిరునామా ముందు - 0x0. ఇప్పుడు మేము ఏమి చిరునామా ఉన్నాయి? STUDENT 63: ఏది చిరునామా బఫర్. జాసన్ HIRSCHHORN: ఏది చిరునామా బఫర్. ఇది బహుశా చేస్తాడు అలాంటిదే. బహుశా ఒక బి తో ఆరంభమవుతుంది మరియు అప్పుడు ఒక f, మరియు ఆరు ఇతర కలిగి హెక్సాడెసిమల్. పట్టింపు లేదు. కొన్ని చిరునామా. మరియు మనము ఆ చిరునామా ప్రయాణిస్తున్న చేస్తున్నారు మరియు మేము మా ఒక ఉంచారు చూడాలని ఆ చిరునామా వద్ద బైట్ విషయం. కాబట్టి మేము మా ఒక ఉంచారు చూడాలని బైట్ విషయం ఇక్కడ లోపల. మరియు తర్వాత మేము నుండి రాయాలో లోపల ఇక్కడ ఎప్పుడూ ఏది. ఎవరైనా ఏవైనా ప్రశ్నలు ఉందా గురించి? ఈ కోడ్ పని చేస్తుంది భావిస్తున్నారు? మీరు అనుకుంటే మీ చేయి పైకెత్తడం ఈ కోడ్ పని చేస్తుంది. మీరు ఒక వైఖరి తీసుకోవాలని. ఎవరు ఈ కోడ్ పనిచేయదు ఆలోచించడం? మీ చేయి పైకెత్తడం. మిగిలిన అందరూ ఉండాలి వారి చేతి పెంచడం. OK. మైఖేల్, మీరు నిలిచి ఉన్నాయి? MICHAEL: నేను నిర్ణయించలేదు. కైండ్ మధ్యలో. జాసన్ HIRSCHHORN: భుజంపై మధ్యలో. ఒకటి ఎంచుకోండి. MICHAEL: నేను విశ్వాసం ఉంటుంది మరియు అది పని యున్నది. జాసన్ HIRSCHHORN: OK. మీరు విశ్వాసం కలిగి మరియు పనిచేస్తుంది అని వస్తుంది? ఏమి జరిగింది? [INTERPOSING వాయిసెస్] జాసన్ HIRSCHHORN: No seg తప్పు. ఎలా మేము చూడటానికి తనిఖీ ఉంటే రెండు సమానంగా ఉన్నాయి? రెండు ఫైళ్లు సమానం. STUDENT 64: తేడా. జాసన్ HIRSCHHORN: తేడా. మధ్య తేడాలను తేడా తనిఖీలు తిరిగి రెండు ఫైళ్లను, మరియు ఉంటే ఏమీ, వారు ఒకేలా ఉన్నారు. మేము తెరిచి ఉంటే, మేము మా ఫైల్. కాబట్టి ఆ సరైన పరిష్కారం. యొక్క అది మరొకసారి తిరిగి చూద్దాం. మేము నిజంగా కూడా కాదు ప్రారంభించడం అవసరం. ఇది బహుశా ఒక బిట్ చూస్తారు మీరు పెట్టక పొతే క్లీనర్ అక్కడ యాదృచ్ఛిక ఏదో. పాయింట్, మీరు సృష్టించడానికి కావలసిన నుండి ఏదో నిల్వ కొన్ని స్పేస్ fread మరియు ఏదో పడుతుంది fwrite బయటకు. మరియు ఆ విషయం కలిగి ఒక స్థానిక గాని ఉండాలి స్టాక్ వేరియబుల్ - మీరు కొన్ని స్పేస్ malloc'd చేసిన కాలేదు. మేము నిజంగా కలిగి రాసిన ఇక్కడ malloc, మరియు ఆ పని ఉండేది. మరియు తర్వాత మేము నిల్వ ఉండేది ఎక్కడో కుప్ప మా విషయాలు. కానీ ఈ, బహుశా, నిజానికి ఉంది ఉదాత్త పరిష్కారం. జస్ట్ స్టాక్ కొన్ని స్పేస్ సృష్టించడానికి ఈ విషయాలు వెళ్ళడానికి కోసం. నేను రెండు ఇతర వ్యాఖ్యలు వుంటుంది. మీరు ఈ లో మలుపు తీసుకుని, ఉంటే నా వ్యాఖ్యలు, ఈ చేశాడు get ఈ క్రింది విధంగా ఉంటుంది. ఈ 1 ఇక్కడ, నాకు, చూడండి మ్యాజిక్ సంఖ్యలు వంటి. ఈ 1, fread పరంగా, అర్ధమే. ఆ విషయాలు సంఖ్య ఉంది చదవడానికి లేదా వ్రాయడానికి. కానీ ఇక్కడే ఈ ఒక తప్పక బహుశా ఏదో అని. కాబట్టి ఒక పరిష్కారం ఏమిటి? STUDENT 65: బైట్ యొక్క పరిమాణం. జాసన్ HIRSCHHORN వచ్చేసింది? STUDENT 65: చార్ యొక్క పరిమాణం. జాసన్ HIRSCHHORN: చార్ యొక్క పరిమాణం. అవును, బైట్ ఒక రకం కాదు. చార్ రచనలు పరిమాణం. మేము ఎగువన, కలిగి మా కోడ్, # నిర్దేశింపబడిన. ఏదో బైట్ మరియు అని ఇది నిజంగా ఒక చార్ ఉంది. అసలైన, ఒక కూడా మంచి విధానం ఈ ఉండవచ్చు - uint. ఎవరైనా తెలుసు? క్షమించాలి. నేను వెనుకకు అది కలిగి. ఏ, వేచి. ఇది ఏ విధంగా గడిచిపోయింది? ఎవరైనా తెలుసు? అవును. STUDENT 67: ప్రామాణికంగా సహాయం చేసేలా వ్యవస్థలు విషయాలు అంతటా కలిగి - సైన్ చేయని పూర్ణ వంటి 8 బైట్లు కలిగి? జాసన్ HIRSCHHORN: పేర్కొంది ఖచ్చితంగా కుడి. వివిధ యంత్రాల్లో, ఒక చార్ యొక్క పరిమాణం - సాధారణంగా ఒక చార్. అక్షరాలు సాధారణంగా ఒక బైట్ ఉంటాయి. కానీ ఇతర డేటా రకాల పరిమాణం ఉంటాయి ఒక 32-bit మిషన్ వివిధ పరిమాణాల ఒక 64-bit మిషన్ వర్సెస్. ఒక uint8_t ఎల్లప్పుడూ 8 బిట్స్ - ఎల్లప్పుడూ ఒక బైట్. నేను ఉన్నాయి అవసరమైన ప్రామాణిక పూర్ణాంకానికి శీర్షికా ఫైలును. కాబట్టి ఇప్పుడు, ఈ బహుశా ఉండేది ఈ కోడ్ రాయడానికి ఉత్తమ మార్గం. నేను మేజిక్ సంఖ్యలు వదిలించుకోవటం. నేను కూడా మరింత తార్కిక కలిగి బఫర్ కోసం టైప్. ఇది, ఇది ఒక బైట్, కేవలం ఒక చార్ కాదు ఇది మేము ఆశించడం ఏమిటి. మరియు ఇక్కడ, మేము నిజంగా చేసిన ఒక బిట్ మరింత స్పష్టంగా. మేము ఇది, ఒక చార్ అని లేదు - బహుశా, తెలిసిన - వేరే ఉంటుంది వివిధ కంప్యూటర్లలో పరిమాణం. మేము నిజంగా ఈ ఖచ్చితంగా ఉంది చెబుతున్న ఒక బైట్, ఎల్లప్పుడూ, ఎవైనా. మేము ఇక్కడ చూడండి, మేము cp తయారు. దగ్గర్నించి. ఏమి జరిగింది? STUDENT 68: ఇది మొగ్గు ఉండవచ్చు. జాసన్ HIRSCHHORN: ఏమిటి? STUDENT 69: ఇది? STUDENT 70 చేసుకుంది ఒక టైప్ నిర్వచించారు. STUDENT 71: కానీ అది ప్రామాణిక నిర్వచించ. STUDENT 72: ఏం జరుగుతోంది? STUDENT 73: పేర్కొనడానికి ఉండాలా అన్ని టోపీలు ఉంటుంది? జాసన్ HIRSCHHORN: కనుక ఇది కాదు # వివరిస్తాయి. అసలైన, ఈ సందర్భంలో, నేను ఉన్నాను typedef ఉపయోగించడానికి వెళుతున్న. మేము దానిని ఉపయోగించి మీరు ఎందుకంటే ఒక ప్రదేశంలో ఒక రకం. కాబట్టి ఈ సందర్భంలో, మేము నిజంగా మీరు మేము ఒక కొత్త రకం ప్రింటింగ్ వంటి typedef బైట్, మరియు ఈ, ముఖ్యంగా, ఉంది. ఇది # define కంటే భిన్నమైనది. ఇప్పుడు మా కోడ్ ఖచ్చితంగా పనిచేస్తుంది. కాబట్టి, మళ్ళీ, # ఏదో పడుతుంది నిర్వచించే, ప్రతిచోటా అది భర్తీ ఇతర విషయం తో. ఇది కేవలం ఒక స్థూల ఉంది - సంక్షిప్త లిపి మ్యాజిక్ సంఖ్యలు వదిలించుకోవటం. కానీ ఈ సందర్భంలో, ఎందుకంటే మేము ఉన్నాము ఒక రకం గా ఉపయోగించి - ఇక్కడే - ఆ పని కోసం, మేము అవసరం ఏమైనా బైట్ typedef కు. మరియు మేము ఇక్కడే అది నిర్వచించు చేస్తున్నారు. ఇది వాస్తవానికి, ఒక struct కాదు కేవలం సంతకం లేని పూర్ణ. ఇది ఒక బైట్ పొడవుగా ఉంది. ఈ కోడ్ ఆన్లైన్ అందుబాటులో ఉంటుంది, మరియు మీరు అన్ని ప్రస్తుతం ఉండాలి. మనకిప్పుడు - పరిపూర్ణ - 13 నిమిషాల వెళ్ళి ఎడమ పైగా సమస్య 5 సెట్. నేను, కలిసి copy.c ద్వారా నడిచే మీరు ఆపై మేము కొంతకాలం మాట్లాడదాము ఇతర భాగాల గురించి సమస్య సెట్. నాలో copy.c. పుల్ అప్ తెలియజేయండి మరియు చల్లని విషయం మేము నిజంగా చేసిన, ఉంది ఇప్పటికే ఈ కోడ్ చాలా వ్రాసిన. మేము అక్షరాలా రాశారు కోడ్ కేవలం నేను ఉన్నప్పుడు ఇక్కడ బయటకు వచ్చింది నా స్వంత ఈ రచన. కానీ ఈ, copy.c ఉంది రూపముల మొదటి రెండు భాగాలు కోసం whodunit.c, కోసం సెట్ సమస్య మీరు రాయడం అవసరం, మరియు resize.c. మూడవ మరియు ఆఖరి ఇది Recover.c, సమస్య సెట్ భాగంగా కాదు ఈ ఫైలు యొక్క ఆఫ్ ఆధారంగా. ఆ ఫైల్ను వ్రాయడానికి అవసరం చూడాలని, మేము మీరు ఆ కోసం ఒక టెంప్లేట్ ఇవ్వాలని ఫైల్, కానీ ఏమీ ఉంది copy.c. సంబంధం కానీ copy.c పునాది ఎందుకంటే మొదటి రెండు భాగాలు, మేము చేయబోతున్నామని ఇప్పుడు అది నడవడానికి, కాబట్టి మీరు కలిగి అది ఏమి మంచి భావం. మరియు వ్యాఖ్యలు కొన్ని దూరంగా ఇవ్వాలని. మేము ఇప్పటికే ఈ కొన్ని వ్రాయలేదు. మొదటి, మేము ఖచ్చితంగా చేస్తున్న మేము మూడు వాదనలు పొందండి. తరువాత, మేము ఫైల్ పేరు గుర్తు చేస్తున్నారు. కాబట్టి మేము ఈ దశను దాటవేయబడింది మేము మా విషయం కోడెడ్ - మా cp. కానీ ఇక్కడ, వారు చేస్తున్న ఒక బిట్ క్లీనర్ ఇది. వారు నిర్ధారించడానికి తనిఖీ చేస్తున్నాము లో రెండు ఫైళ్లను, మంచి వాటిని తెరవడం పాటు. మేము ఇప్పుడు ఈ కోడ్ రాశారు, నేను ఉన్నాను ఈ కోడ్ పాస్ లేదు లేదు. తదుపరి ప్రత్యేకమైన అని కొన్ని stuff ఉంది మేము, ఉపయోగిస్తున్నట్లయితే ఫైళ్లను ఇది బిట్మ్యాప్ ఫైళ్లు. బిట్మ్యాప్ ఫైళ్లు కొన్ని మెటాడేటా కలిగి వాటిని సంబంధం. కాబట్టి బైట్లు మొదటి జంట ఫైలు గురించి తెలియజేస్తుంది. వారు రంగులు కాదు ఆ చిత్రం లో పిక్సెల్. వారు ఫైల్ గురించి తెలియజేస్తుంది. మరియు మీరు సమస్య సెట్ చదివితే, మీరు మరింత సమాచారం ఉంటుంది మెటాడేటా నిర్మాణాలు ఏ రకాల బిట్ మ్యాప్ చిత్రాలన్నీ చేర్చబడ్డాయి. మేము ఈ మొదట ఎందుకు కానీ ఆ ఇక్కడ ఈ కోడ్ - సెట్. మేము మెటాడేటా చదువుతున్నారని - మెటాడేటా రెండు ముక్కలు - ఫైలు శీర్షిక మరియు సమాచారం శీర్షిక. మరియు మేము దానిని కొన్ని ప్రాంతాల్లో తనిఖీ అది ఒక నిజమైన బిట్మ్యాప్ ఫైలు తయారు కొనసాగే ముందు. మరియు తిరిగి, ఈ వివరాలను మేము ఇప్పుడు వెళ్ళాలని అవసరం లేదు. మీరు సమస్య సమితి ద్వారా రీడ్, మీరు ఈ గ్రహించవచ్చు. లాంగ్ కథ చిన్న, ఈ కేవలం అంటున్నారు, ఈ ఒక బిట్మ్యాప్ ఫైలు, మరియు ధృవీకరిస్తున్నారు. తదుపరి, మేము ఆ రాస్తున్నాం బయటకు ఫైలుకు. మేము ఇక్కడ చూడండి. మేము పాయింటర్ వ్రాస్తున్నాము. తదుపరి, మేము padding నిర్ణయించడానికి చేస్తున్నారు. మరలా, వంటి particularity తో ఉంది ఒక బిట్మ్యాప్ ఫైలు, కొన్ని రేఖలు చివరిలో పాడింగ్. మరియు మీరు సమస్య సెట్ చదివితే, మీరు padding గురించి మరింత నేర్చుకుంటారు. ఈ పాడింగ్ కనుగొనేందుకు సూత్రం. గుర్తుంచుకోవడం ముఖ్యం - మీరు ఒక బిట్మ్యాప్ యొక్క పరిమాణం మారినప్పుడు , పాడింగ్ మార్పులు దాఖలు. మీరు ఒక యొక్క పరిమాణం మారినప్పుడు , పాడింగ్ మార్పులు దాఖలు. ఇది మాత్రం ఎప్పటికీ 3 కంటే ఎక్కువ - ఇది, 3 ద్వారా కలుపుకొని 0 ఉంటాం. కానీ మీరు యొక్క పరిమాణం మారినప్పుడు ఏదో, పాడింగ్ మార్పులు. నేను మాత్రమే వరుసగా ఒక పిక్సెల్ ఉంటే, నేను , పాడింగ్ మూడు బైట్లు అవసరం ఎందుకంటే ప్రతి వరుసలో నాలుగు బహుళ ఉండాలి ఒక బిట్మ్యాప్ ఫైలు లో దీర్ఘ బైట్లు. కానీ నేను రెట్టింపు అయితే, ఒక పిక్సెల్ నుండి వెళ్ళడానికి రెండు పిక్సెల్, వీటిలో ప్రతి, యొక్క అని పిలవబడు, బైట్, నేను అవసరం ఉంది చేయడానికి padding రెండు బైట్లు నాలుగు సమాన. నేను ఏదో యొక్క పరిమాణం మారినప్పుడు, నేను మొత్తం మార్చాలి పాడింగ్ నేను కలిగి. అని అందరికీ తెలుస్తుంది ఉందా? తరువాత, మేము ప్రతి వరుసలో మీద iterate, లేదా అన్ని వరుసలను ద్వారా. మరియు తర్వాత మేము ద్వారా iterate ప్రతి వరుసలో ప్రతి కాలమ్. మేము వంటి ఈ బిట్మ్యాప్ చికిత్స చేస్తున్నారు ఒక గ్రిడ్, వంటి మేము చికిత్స చేసిన 15 లో బోర్డు. ఇలా మేము ఇటుకలు నయం ఉన్నప్పుడు మేము తెరపై వాటిని ముద్రించిన. వరుసలు మరియు కాలమ్లను ఒక గ్రిడ్. అప్పుడు - మేము ఈ చూసిన. మేము నిజానికి ఈ కోడ్. మేము కొన్ని తాత్కాలిక నిల్వ రూపొందించినవారు. మేము అప్పుడు లో, మరియు మేము దాన్ని వ్రాయండి. ఈ మేము సరిగ్గా. నేను అన్నాడు తరువాత, ఎందుకంటే ప్రతి లైన్ కొన్ని పాడింగ్ లో ముగుస్తుంది, మేము ఆ padding పైగా skip - పాత పాడింగ్. మరియు తర్వాత మేము మళ్ళీ జోడించండి. ఈ సందర్భంలో, మేము సృష్టిస్తున్నారు అదే ఖచ్చితమైన ఫైలు. మేము దానిని కాపీ చేస్తున్న. కాబట్టి ఈ లైన్ రకమైన వెర్రి ఉంది. మేము అని మాటప్రకారము సైన్ పాడింగ్ చాలు కానీ మీరు ఫైల్ యొక్క పరిమాణం మార్చేందుకు, మీరు ఇప్పటికీ ఈ లైన్ అనుకుంటున్నారు? మనం ఒక ఫైల్ యొక్క పరిమాణం మార్చే ఉంటే, మేము ఇంకా వెళ్ళకండి చెయ్యాలి పాత padding పైగా? STUDENT 74: అవును. జాసన్ HIRSCHHORN: కాబట్టి మేము. ఈ, మళ్ళీ, ఒప్పందాలు ఎందుకంటే మూలం ఫైలు. మేము padding గురించి పట్టించుకోను మూలం ఫైలు నుండి. మేము తదుపరి లైన్ కు వెళ్లాలని మీరు అనుకుంటున్నారా. కాని మేము కేవలం తిరిగి ఉంచవద్దు పాడింగ్ పాత మొత్తం. మేము తిరిగి ఉంచాలి పాడింగ్ కొత్త మొత్తం. కాబట్టి మేము ఒక పరిమాణం మార్చడం చేసినప్పుడు ఫైలు, మేము ఇంకా పైగా వెళ్ళకండి పాత ఫైలు లో పాడింగ్ - ఏమి మేము నుండి లో చదువుతున్న. కానీ మేము వ్రాస్తున్నాము ఏమి, మేము చేయబోతున్నామని కొన్ని వివిధ తిరిగి ఉంచాలి పాడింగ్ సంఖ్య అని మేము కనుగొన్నాము. అవును. STUDENT 75: ఆ రెండు క్రమాన్ని లైన్లు, పట్టింపు లేదు? మీరు నిర్వహణ చేస్తున్న వివిధ ఫైళ్లు. జాసన్ HIRSCHHORN: ఖచ్చితంగా. ఈ రెండు పంక్తులు క్రమాన్ని పట్టింపు లేదు. మేము ఈ లైన్ వ్రాయండి. ఈ ఫైలు కోసం ఇక్కడ ఉంది మేము వ్రాస్తున్నాము. ఆ ముఖ్యం, కాబట్టి మేము పొందండి పాడింగ్ కుడి మొత్తం. ఈ లో ఫైలు ఎదుర్కోవటానికి ఉంది. మేము వెళ్ళకండి padding పైగా. మేము చదవడానికి వద్దు - మేము ఒక సమయంలో ఒక బైట్ చదువుతున్న మేము ఆ పాడింగ్ బైట్లు గురించి పట్టించుకోను. మేము తదుపరి లైన్ తరలించాలనుకుంటున్న. చివరగా లూసీ మాకు ఇచ్చారు వంటి, మేము ఫైళ్లను మూసివేయండి 0 తిరిగి. కాబట్టి ఈ copy.c. ఉంది మరియు మేము నిజంగా రాసిన - మేము అత్యంత గడిపాడు ముఖ్యంగా, ఈ రచన విభాగం. మీరు ఈ చేసిన. కాబట్టి ఆశాజనక మీరు మంచి భావం ఇక్కడ జరగబోతోంది ఏమి. పెద్ద తేడా, నిజాయితీగా, కేవలం ఉంది చేపట్టే ఈ మొదటి భాగం బిట్మ్యాప్ ఫైళ్లు విశేషములు. నేను, నా తదుపరి స్లయిడ్ కలిగి మేము ఏమి చేయాలి? సరే, హూడన్ఇట్ ఆలోచించే అనుమతిస్తాయి. మరియు ఎవరైనా కోసం ఎవరు చదవండి సమస్య సెట్, మేము ఏమి హూడన్ఇట్ లో చెయ్యాల్సిన? కేవలం. Aleja. ALEJA: మీరు భాగంగా పడుతుంది ఎరుపు సూచిస్తుంది ప్రతి పిక్సెల్ యొక్క. మరియు తర్వాత - రకమైన? జాసన్ HIRSCHHORN: OK. కాబట్టి ప్రతి భాగంగా చేద్దామని ఎరుపు సూచిస్తుంది పిక్సెల్. ఇది అన్ని దగ్గరగా, కానీ కాదు. STUDENT 76: Well, ఉంది దీన్ని రకాలుగా. జాసన్ HIRSCHHORN: OK. నాకు ఒక వదలడం. STUDENT 76: అన్ని Red చేద్దామని, మరియు అప్పుడు నొక్కి నీలం మరియు ఆకుపచ్చ. జాసన్ HIRSCHHORN: OK. కాబట్టి ఈ మార్గాలు రెండు ఇచ్చిన - మేము అది ఒక పిక్సెల్ ఇస్తుంది లాగా, ధ్వనులు ఇది ఒక ఎరుపు, నీలం, మరియు ఆకుపచ్చ స్థాయి. మేము స్థాయిల యొక్క మార్చడానికి కావలసిన ఆధారపడి, ఎరుపు, నీలం, మరియు ఆకుపచ్చ ఆ పిక్సెల్ న. ఈ కోడ్ లో మనము ఎక్కడ సాపేక్ష ఎరుపు, నీలం, మరియు ఆకుపచ్చ ఒక పిక్సెల్ స్థాయిలు. మేము అది చదివిన తర్వాత - మేము వ్రాయుటకు ముందు? నాకు లైన్ నెంబర్ ఇవ్వండి. బహుళ విద్యార్థులు: 83. జాసన్ HIRSCHHORN: 83. కాబట్టి ఇక్కడే. హూడన్ఇట్ కోసం, కోడ్ మీరు అవసరం రాసే అన్ని అక్కడే వెళ్ళాలి. మరియు మాత్రమే కోడ్ ఉంది మీరు రాయడం అవసరం. మేము విన్న వంటి, మీరు అవసరం, ఎందుకంటే అలా, ఈ సంబంధిత నీలం మార్పు ప్రతి పిక్సెల్ నుండి ఎరుపు మరియు ఆకుపచ్చ స్థాయిలు. మీరు చదువుకున్నాము, మరియు ఇప్పుడు మీరు దాన్ని ఎలా రాయాలో. నేను వస్తుందా - నేను ఈ విషయం ఉంటే ఇక్కడే, ట్రిపుల్ అని, మరియు అది ఉంది RGBTRIPLE టైప్ - బాగా, మేము bmp.h లో చూస్తూ ఉంటే, RGBTRIPLE ఏమిటి? STUDENT 77: ఇది ఒక struct ఉంది. జాసన్ HIRSCHHORN: RGBTRIPLE ఒక struct ఉంది. మేము డౌన్ ఇక్కడ చూడండి. కాబట్టి నేను, సే, యాక్సెస్ కోరుకుంటే struct యొక్క Red స్థాయి, ఎలా నేను ఈ struct Red స్థాయి యాక్సెస్? [CLASS అపక్రమ శబ్దాలు] STUDENT 78: RGBTRIPLE.rgbtred? జాసన్ HIRSCHHORN: ఆ సరైనదేనా? STUDENT 79: ఇది ట్రిపుల్ ఉండాలి బదులుగా RGBTRIPLE డాట్ డాట్,? జాసన్ HIRSCHHORN: ట్రిపుల్. ట్రిపుల్ స్థానిక వేరియబుల్, కాబట్టి ఇక్కడ, ఇక్కడ గమనికలు ఉంది. కాబట్టి మేము కేవలం డాట్ సంజ్ఞామానం ఉపయోగించే. ఈ నాకు ఎరుపు స్థాయి ఇస్తుంది. నేను మార్చడానికి కావలసిన, నేను సెట్ వేరొక సమం. మరలా, కోడ్ యొక్క ఈ లైన్ యాక్సెస్ ఈ ఈ struct లోపల వేరియబుల్, మరియు మనం కొత్త ఏదో సెట్ చేయవచ్చు. కాబట్టి హూడన్ఇట్ కోసం, మళ్ళీ, ఈ, ఉంది సారాన్ని, ఏమి మేము ఏమి చేయాలి. చాలా సాధారణ. కొన్ని స్థాయిల మార్చడానికి, మరియు ఆ కోడ్ వెళ్తాడు పేరు ఉంటుంది. మరోవైపు, పునఃపరిమాణం, ఒక బిట్ trickier ఉంది. నిజానికి, పునఃపరిమాణం బహుశా ఉంది ఈ సమస్య యొక్క trickiest భాగంగా సెట్. మేము వెళ్ళి మూడు నిమిషాలు. కానీ మళ్ళీ, మేము ఇప్పటికే వ్రాయలేదు ఈ కోడ్ అత్యంత, కాబట్టి మేము అందంగా తెలిసిన ఉండాలి. మేము లో చేయాలనుకుంటున్నారా కొన్ని విషయాలు ఏమిటి మీరు పైగా చదివారు అయితే, పరిమాణాన్ని సమస్య సెట్? మీరు నాకు ఇవ్వటానికి, మేము వాటిని గురించి మాట్లాడవచ్చు. మేము మీరు కొన్ని విషయాలు ఏమిటి? STUDENT 80: నిలువుగా - కాబట్టి మీరు, అడ్డంగా దాని పరిమాణాన్ని ఉంటుంది కానీ నిలువుగా అదే దాని పరిమాణాన్ని? జాసన్ HIRSCHHORN: కాబట్టి మేము ఇచ్చిన మీరు ఒక పిక్సెల్, మరియు మేము ఒక ద్వారా దాని పరిమాణాన్ని కావలసిన రెండు యొక్క అంశం, అది ఇప్పుడు ఉండాలి అడ్డంగా పరిమాణం మరియు పునఃపరిమాణము నిలువుగా. అర్ధవంతం లేదు? అవును. కాబట్టి ఆ బహుశా ఉంది అతిపెద్ద సవాలు. మరియు మేము ఒక క్షణ గురించి మాట్లాడదాము. అవును. STUDENT 81: నేను ఆలోచనలనూ మీరు ప్రింట్ దాన్ని అవసరమైంది - జాసన్ HIRSCHHORN: వేచి. మీరు ఏమి మాకు లేదు. మేము తర్కం లో మాట్లాడటానికి వెళుతున్న. STUDENT 81: OK. ప్రశ్న ఏమిటి? జాసన్ HIRSCHHORN: మీరు కేవలం మీ చేతి పెంచింది. ప్రశ్నించసాగారు. నాకు ఇది ప్రస్తుత లెట్. నాకు ఈ క్లుప్తంగా చర్చిద్దాం. కాబట్టి మేము, మేము ఒక పిక్సెల్ మీరు చేశారు అడ్డంగా, అది నకలు మరియు నిలువుగా. కాబట్టి ఆదర్శంగా ఏమి మేము ఇక్కడ, మేము మా పిక్సెల్ లో చదవండి, మేము వ్రాయుటకు సార్లు అయితే అనేక. కానీ మేము, ఇక్కడ మా ట్రిక్ ఎందుకంటే అప్పుడు మేము వెళ్ళకండి తదుపరి లైన్ మరియు వ్రాయటం తదుపరి లైన్ ప్రారంభించి. కాబట్టి మేము రెండు నకలు అనుకుంటే అడ్డంగా మరియు నిలువుగా, ఏమిటి అలా ఒక మంచి మార్గం - మంచి ఒక అయితే అలా? కాబట్టి మేము నిరంతరం కోరుకుంటారు అవసరం లేదు మా ఫైలు విషయాలను ఉంచడానికి. ఆ ప్రశ్న లేకపోవచ్చు దృష్టిపెట్టింది, కానీ నేను ఒక దానికి సమాధానం సహాయం చేస్తుంది. STUDENT 82: వ్యూహం సృష్టించు? జాసన్ HIRSCHHORN: కాబట్టి లెట్స్ ఆలోచన వరుసగా ప్రతి ఫైలు యొక్క. యొక్క వరుసలు పరంగా జవాబులే. మేము మా చిన్న నుండి మా మొదటి వరుస కలిగి ఉంటే చిత్రాన్ని, మేము ఆ వరుస చేయవచ్చు పెద్ద చిత్రాన్ని నుండి పెద్ద వరుసలో, ఆపై అయితే ఆ వరుస నకలు ఇది ప్రతిరూపం అవసరం అనేక సార్లు, కాకుండా పిక్సెల్ ద్వారా పిక్సెల్ కాకుండా, ఉన్నప్పుడు గందరగోళంగా తీసుకుంటున్న ఫైళ్ళను వ్యవహరించే. మేము ఎందుకంటే - నేను ఖాళీ నడుస్తున్న వెబ్. ఈ మా ఫైలు, మరియు మేము ఉంటే ఆ అక్కడ ఒక పిక్సెల్, మరియు మేము ఉంచండి మీరు అక్కడే, మేము ఇంకా కొన్ని విషయాల్లో అక్కడ మేము ఉన్నప్పుడు వెళ్ళడానికి అవసరం రాయడం మరియు మా కొత్త ను సృష్టించడంలో - మా ఫైలు రెండుసార్లు వంటి పెద్దది. కానీ ఫైల్ను విధులు నిజంగా కష్టం కొత్త మార్గాల చుట్టూ దాటవేయడానికి ఆ వంటి, మరియు ఇక్కడ తిరిగి వెళ్ళి మరియు అక్కడ విషయాలు ఉంచాలి. అమ్మయిలు దాదాపు అసాధ్యం ఆ వంటి, భావన కల్పిస్తుంది ఉంటే. మేము వరుసలు పరంగా అనుకుంటే కాబట్టి, మేము మా వరుస తీసుకుని, తర్వాత ఉంచండి - నిలువుగా వరుసలు నకలు. మరియు మేము పునఃపరిమాణం పరిష్కరించేందుకు ఎలా నిలువుగా కాకుండా అడ్డంగా కంటే. ఆ రకమైన త్వరితంగా మరియు కొద్దిగా గందరగోళంగా. దురదృష్టవశాత్తు మా సమయం అప్. నేను మీరు యొక్క ఆ కోసం బయట నిలబడి ఇక్కడ గురించి ప్రశ్నలు ఎవరు తిరిగి సహా సమస్య సమితి. కాబట్టి ఇప్పుడు కోసం వాయిదావెయ్యి తెలియజేయండి. మరియు తిరిగి, మీరు ఏవైనా ప్రశ్నలు ఉంటే, మేము బయట చాట్ చెయ్యవచ్చు.