1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [கோப்பு I / O] 2 00:00:02,000 --> 00:00:04,000 [ஜேசன் ஹிர்ஸ்கோஹார்ன், ஹார்வர்ட் பல்கலைக்கழகம்] 3 00:00:04,000 --> 00:00:07,000 [இது, CS50.TV CS50 உள்ளது] 4 00:00:07,000 --> 00:00:11,000 நாம் ஒரு கோப்பு நினைக்கும் போது, என்ன, ஒரு மைக்ரோசாப்ட் வேர்ட் ஆவணம் மனதில் 5 00:00:11,000 --> 00:00:14,000 ஒரு படம், அல்லது ஒரு எம்பி 3 பாடல், 6 00:00:14,000 --> 00:00:17,000 நாம் வெவ்வேறு வழிகளில் கோப்புகளை இந்த வகையான ஒவ்வொரு தொடர்பு. 7 00:00:17,000 --> 00:00:20,000 உதாரணமாக, ஒரு வார்த்தை ஆவணத்தில் நாம் உரை சேர்க்கவும் 8 00:00:20,000 --> 00:00:24,000 ஒரு படம் நாம் முனைகளை அவுட் நறுக்க அல்லது வண்ணங்கள் retouch இருக்கும் போது. 9 00:00:24,000 --> 00:00:28,000 இன்னும் முக்காடிட்டு நம் கணினியில் உள்ள கோப்புகளை இன்னும் எதுவும் இல்லை 10 00:00:28,000 --> 00:00:31,000 பூஜ்ஜியங்களும் ஒன்றுகளும் ஒரு நீண்ட வரிசையை விட. 11 00:00:31,000 --> 00:00:33,000 இது கோப்பு ஊடாடுவதாக குறிப்பிட்ட பயன்பாடு வரை தான் 12 00:00:33,000 --> 00:00:38,000 இந்த நீண்ட வரிசையை செயல்படுத்த மற்றும் பயனர் கொடுக்க வேண்டிய எப்படி தீர்மானிக்க. 13 00:00:38,000 --> 00:00:41,000 ஒரு புறம், ஒரு ஆவணம், ஒரு பைட் பார்த்து இருக்கலாம் 14 00:00:41,000 --> 00:00:45,000 அல்லது 8 பூஜ்ஜியங்களும் ஒன்றுகளும், மற்றும் திரையில் ஒரு ASCII எழுத்துகளின் காட்ட. 15 00:00:45,000 --> 00:00:48,000 மறுபுறம், ஒரு பிட்மாப் படம், 3 பைட்டுகள் பார்த்து இருக்கலாம் 16 00:00:48,000 --> 00:00:50,000 அல்லது 24 பூஜ்ஜியங்களும் ஒன்றுகளும், 17 00:00:50,000 --> 00:00:53,000 மற்றும் 3 அறுபதின்ம எண்கள் அவற்றை விளக்குவது 18 00:00:53,000 --> 00:00:56,000 அந்த சிவப்பு, பச்சை, மற்றும் நீலம் மதிப்புகள் பிரதிநிதித்துவம் 19 00:00:56,000 --> 00:00:58,000 ஒரு படத்தை ஒரு பிக்சல் உள்ள. 20 00:00:58,000 --> 00:01:01,000 அதை அவர்கள், தங்கள் அடிப்படை நேரத்தில், உங்கள் திரையில் போல் இருக்கும் 21 00:01:01,000 --> 00:01:05,000 கோப்புகளை பூஜ்ஜியங்களும் ஒன்றுகளும் வரிசை விட எதுவும் இல்லை. 22 00:01:05,000 --> 00:01:08,000 எனவே நாம் இந்த ஆழத்திற்கு நாம் உண்மையில் இந்த பூஜ்ஜியங்களும் ஒன்றுகளும் கையாள எப்படி இருக்கும் 23 00:01:08,000 --> 00:01:12,000 அதை எழுதும் ஒரு கோப்பை படித்து வரும் போது. 24 00:01:12,000 --> 00:01:15,000 >> நான் ஒரு சாதாரண 3 பகுதி செயல்முறை அதை உடைக்கும் மூலம் தொடங்க வேண்டும். 25 00:01:15,000 --> 00:01:19,000 அடுத்து, நான் இந்த மூன்று பாகங்கள் நிரூபிக்க இரண்டு குறியீடு எடுத்துக்காட்டுகள் கொண்டு டைவ் வேண்டும். 26 00:01:19,000 --> 00:01:23,000 இறுதியாக, நான் செயல்முறை ஆய்வு மற்றும் அதன் முக்கிய விவரங்கள் சில வேண்டும். 27 00:01:23,000 --> 00:01:25,000 உங்கள் டெஸ்க்டாப் உட்கார்ந்து எந்த கோப்பு, 28 00:01:25,000 --> 00:01:28,000 செய்ய முதல் விஷயம் திறக்க உள்ளது. 29 00:01:28,000 --> 00:01:31,000 சி நாம் ஒரு முன் struct ஒரு சுட்டிக்காட்டி அறிவித்தார் செய்ய 30 00:01:31,000 --> 00:01:33,000 அந்த வட்டில் ஒரு கோப்பை குறிக்கிறது. 31 00:01:33,000 --> 00:01:38,460 இந்த செயல்பாடு அழைப்பில், நாமும் எழுத அல்லது கோப்பை படிக்க வேண்டும் என்பதை தீர்மானிக்க. 32 00:01:38,460 --> 00:01:41,660 அடுத்து, நாங்கள் உண்மையான வாசிப்பு மற்றும் எழுத்து செய்வது. 33 00:01:41,660 --> 00:01:44,800 நாம் இந்த பகுதியில் பயன்படுத்தலாம் சிறப்பு செயல்பாடுகள் பல உள்ளன 34 00:01:44,800 --> 00:01:48,790 கிட்டத்தட்ட அனைத்து கோப்பு என்பதை குறிக்கும் கடிதம் எஃப், தொடங்கும். 35 00:01:48,790 --> 00:01:53,560 கடந்த, கோப்புகள் மேல் மூலையில் உள்ள சிறிய சிவப்பு நிறத்தில் உள்ள X ஒத்த, உங்கள் கணினியில் திறக்க 36 00:01:53,560 --> 00:01:56,680 நாம் ஒரு இறுதி செயல்பாட்டு அழைப்பு கோப்பு மூட. 37 00:01:56,680 --> 00:01:59,540 இப்போது நாம் செய்ய போகிறோம் என்ன ஒரு பொது கருத்து என்று, 38 00:01:59,540 --> 00:02:02,000 குறியீடு இந்த ஆழத்திற்கு நாம். 39 00:02:02,000 --> 00:02:06,100 >> இந்த அடைவில், நாம் இரண்டு சி கோப்புகள் மற்றும் அதற்கான இயங்கக்கூடிய கோப்புகள் இல்லை. 40 00:02:06,100 --> 00:02:09,710 தட்டச்சு திட்டம், ஒரு கட்டளை வரி வாதத்தை எடுத்து 41 00:02:09,710 --> 00:02:12,060 நாம் உருவாக்க விரும்பும் ஆவணத்தின் பெயர். 42 00:02:12,060 --> 00:02:16,160 இந்த வழக்கில், நாம் அதை doc.txt அழைக்கிறேன். 43 00:02:16,160 --> 00:02:19,080 திட்டத்தை இயக்க மற்றும் வரிகளை ஒரு ஜோடி அனுமதித்தார். 44 00:02:19,080 --> 00:02:23,660 Hi. என் பெயர் ஜேசன் உள்ளது. 45 00:02:23,660 --> 00:02:26,710 இறுதியாக, நாம் "விலகினார்." தட்டச்சு செய்யலாம் 46 00:02:26,710 --> 00:02:29,720 நாம் இப்போது, இந்த கோப்புகளும் அனைத்து பட்டியலிட வேண்டும் 47 00:02:29,720 --> 00:02:33,770 நாம் ஒரு புதிய ஆவணம் doc.txt என்று உள்ளதா என்று பார்க்க. 48 00:02:34,190 --> 00:02:36,110 கோப்பு தான் உருவாக்கிய இந்த திட்டம் என்று. 49 00:02:36,110 --> 00:02:40,520 மற்றும் நிச்சயமாக, அது மிகவும் பூஜ்ஜியங்களும் ஒன்றுகளும் ஒரு நீண்ட வரிசையை தவிர வேறொன்றுமில்லை. 50 00:02:41,100 --> 00:02:43,260 நாம் இந்த புதிய கோப்பினை திறக்கும் போது, 51 00:02:43,260 --> 00:02:45,870 நாம் நம் நிரலை உள்ளிட்ட குறியீடு 3 வரிகளை பாருங்கள் - 52 00:02:46,060 --> 00:02:49,060 Hi. மே பெயர் ஜேசன் உள்ளது. 53 00:02:49,580 --> 00:02:52,090 ஆனால் என்ன உண்மையில் typewriter.c இயங்கும் போது நடக்கிறது? 54 00:02:52,810 --> 00:02:55,520 எங்களுக்கு வட்டி முதல் வரி வரி 24 ஆகும். 55 00:02:55,560 --> 00:02:58,490 இந்த வரிசையில், நாம் கோப்பு சுட்டிக்காட்டி அறிவிக்க. 56 00:02:59,080 --> 00:03:03,140 இந்த சுட்டிக்காட்டி, fopen கொடுக்கிறது என்று செயல்பாடு, இரு வாதங்கள் எடுத்து கொள்கிறது. 57 00:03:03,140 --> 00:03:07,440 முதல் கோப்பு நீட்டிப்பு சரியான உள்ளிட்ட கோப்பு பெயர். 58 00:03:07,440 --> 00:03:10,980 ஒரு கோப்பு நீட்டிப்பு அதன் குறைந்த அளவில் கோப்பு தாக்கம் இல்லை என்று நினைவு. 59 00:03:10,980 --> 00:03:14,640 நாம் எப்போதும் பூஜ்ஜியங்களும் ஒன்றுகளும் ஒரு நீண்ட வரிசை கையாள்வதில். 60 00:03:14,640 --> 00:03:19,630 ஆனால் அது கோப்புகளை மாகவும் என்ன பயன்பாடுகள் அவற்றை திறக்க பயன்படுத்தப்படும் எப்படி செல்வாக்கு இல்லை. 61 00:03:19,630 --> 00:03:22,290 fopen இரண்டாவது வாதம் ஒரு கடிதம் 62 00:03:22,290 --> 00:03:25,300 என்று நாம் கோப்பை திறக்க பிறகு செய்ய திட்டமிட்டுள்ளோம் என்ன உள்ளது. 63 00:03:25,300 --> 00:03:30,630 W, R, மற்றும் ஏ - இந்த வாதத்தை மூன்று விருப்பங்கள் உள்ளன 64 00:03:30,630 --> 00:03:34,900 நாம் கோப்பு எழுத வேண்டும், ஏனெனில் நாங்கள் இந்த வழக்கில் w தேர்வு. 65 00:03:34,900 --> 00:03:38,820 ஆர், ஒருவேளை நீங்கள் யூகிக்க முடியும் என, கோப்பை படிக்க வேண்டும். 66 00:03:38,820 --> 00:03:41,760 ஒரு கோப்பில் சேர்ப்பதன் உள்ளது. 67 00:03:41,760 --> 00:03:44,960 அதே w மற்றும் ஒரு கோப்புகளை எழுத பயன்படுத்தப்படும் இரண்டு, 68 00:03:44,960 --> 00:03:47,460 w கோப்பு தொடக்கத்தில் இருந்து எழுத தொடங்கும் 69 00:03:47,460 --> 00:03:50,810 மற்றும் திறன் முன்பே சேமிக்கப்பட்ட என்று எந்த தரவு மேலெழுதும். 70 00:03:50,810 --> 00:03:54,070 முன்னிருப்பாக, ஏற்கனவே இல்லை என்றால் நாம் திறக்க கோப்பு, 71 00:03:54,070 --> 00:03:57,180 நம் தற்போது வேலை அடைவில் உருவாக்கப்படும். 72 00:03:57,180 --> 00:04:00,540 எனினும், நாம் வேறு ஒரு இடத்தில் ஒரு கோப்பு அணுக அல்லது உருவாக்க விரும்பினால், 73 00:04:00,540 --> 00:04:02,650 fopen முதல் வாதம் இல், 74 00:04:02,650 --> 00:04:05,840 நாம் கோப்பு பெயர் கூடுதலாக ஒரு கோப்பு பாதையை குறிப்பிட வேண்டும். 75 00:04:05,840 --> 00:04:09,490 இந்த பணியின் முதல் பகுதியாக நீண்ட குறியீடு மட்டுமே ஒரு வரி, போது 76 00:04:09,490 --> 00:04:12,350 அது கோடுகள் மற்றொரு தொகுப்பில் சேர்க்க எப்போதும் நல்ல நடைமுறையில் உள்ளது 77 00:04:12,350 --> 00:04:15,930 அந்த கோப்பு வெற்றிகரமாக திறக்கப்பட்டது அல்லது உருவாக்கப்பட்டது என்பதை உறுதி செய்ய சரிபார்க்கவும். 78 00:04:15,930 --> 00:04:20,300 Fopen பூஜ்ய கொடுக்கிறது என்றால், நாம், நம் திட்டத்தை சிறிதும் தீங்கிழைப்பவர் விரும்பவில்லை 79 00:04:20,300 --> 00:04:23,270 இயங்கு நினைவக வெளியே இருந்தால் இந்த நடக்கலாம் 80 00:04:23,270 --> 00:04:27,940 அல்லது நாம் சரியான அனுமதிகள் இல்லை, இது ஒரு அடைவில் ஒரு கோப்பை திறக்க முயற்சி செய்தால். 81 00:04:27,940 --> 00:04:31,780 >> பணியின் ஒரு பகுதியாக இரண்டு தட்டச்சு இன் போது சுழற்சி நடைபெறுகிறது. 82 00:04:31,780 --> 00:04:35,000 நாம், பயனர் உள்ளீடு பெற ஒரு CS50 நூலகம் செயல்பாட்டை பயன்படுத்த 83 00:04:35,000 --> 00:04:37,190 மேலும், அவர்கள் திட்டத்தை விட்டு விரும்பவில்லை அனுமானித்து 84 00:04:37,190 --> 00:04:41,940 நாம் சரம் எடுத்து அதை கோப்பில் எழுத செயல்பாடு fputs பயன்படுத்த. 85 00:04:41,940 --> 00:04:46,700 fputs நாம் கோப்பு எழுத பயன்படுத்த முடியும் பல செயல்பாடுகளை மட்டுமே உள்ளது. 86 00:04:46,700 --> 00:04:51,920 மற்றவை fwrite, fputc, மற்றும் கூட fprintf அடங்கும். 87 00:04:51,920 --> 00:04:54,840 எந்த குறிப்பிட்ட செயல்பாட்டை நாம், எனினும், பயன்படுத்தி முடிவுக்கு 88 00:04:54,840 --> 00:04:57,480 அவர்கள் அனைவரும், தங்கள் வாதங்களை வழியாக, எனக்கு வேண்டும் 89 00:04:57,480 --> 00:04:59,670 குறைந்தது இரண்டு விஷயங்கள் - 90 00:04:59,670 --> 00:05:03,140 என்ன அது எழுதப்பட்ட வேண்டும் அங்கு எழுதி வேண்டும். 91 00:05:03,140 --> 00:05:07,240 நம் வழக்கில், உள்ளீடு எழுதப்பட்ட வேண்டும் என்று சரம் 92 00:05:07,240 --> 00:05:11,290 மற்றும் கைரேகை நாம் எழுதும் நீங்கள் எங்கே நம்மை நேரடியாக என்று சுட்டிக்காட்டி இருக்கிறது. 93 00:05:11,290 --> 00:05:15,330 இந்த திட்டத்தில், செயல்முறை பகுதியாக இரண்டு மாறாக நேர்மையானவன். 94 00:05:15,330 --> 00:05:17,360 நாம் வெறுமனே பயனர் ஒரு சரம் பேசிக்கொண்டு 95 00:05:17,360 --> 00:05:22,120 மற்றும் நம் கோப்பு நேரடியாக அதை சேர்த்து சிறிது-க்கு இல்லை உள்ளீட்டு சரிபார்த்தல் அல்லது பாதுகாப்பு காசோலைகளை. 96 00:05:22,120 --> 00:05:26,160 பெரும்பாலும், இருப்பினும், பகுதி இரண்டு உங்கள் குறியீடு பெரும்பகுதி வரை எடுக்கும். 97 00:05:26,160 --> 00:05:30,580 நாம் கோப்பு மூட அங்கு இறுதியாக, பகுதி மூன்று, வரி 58 ஆகும். 98 00:05:30,580 --> 00:05:34,860 இங்கே நாம் அசல் கோப்பு சுட்டிக்காட்டி fclose மற்றும் அதை கடத்துவதற்கு அழைப்பு. 99 00:05:34,860 --> 00:05:39,500 பின்னர் வரிசையில், நாம் நம் திட்டத்தை முடிவுக்கு சமிக்ஞையாக, பூஜ்யம் திருப்பி. 100 00:05:39,500 --> 00:05:42,630 மற்றும், ஆமாம், பகுதி மூன்று என்று போன்றவையாக இருக்கும். 101 00:05:42,630 --> 00:05:45,260 >> இந்த கோப்புகளை படித்து செல்ல அனுமதிக்க. 102 00:05:45,260 --> 00:05:48,220 மீண்டும் எங்கள் அடைவில் நாம் printer.c என்று ஒரு கோப்பு உள்ளது. 103 00:05:48,220 --> 00:05:50,910 நாம் தான் உருவாக்கிய கோப்பு அதை இயக்க அனுமதி - 104 00:05:50,910 --> 00:05:53,350 doc.txt. 105 00:05:53,350 --> 00:05:58,150 இந்த திட்டம், பெயர் குறிப்பிடுவதை போல, வெறுமனே கோப்பின் உள்ளடக்கங்களை அதை கடந்து அவுட் அச்சிட வேண்டும். 106 00:05:58,150 --> 00:06:00,230 அங்கு நமக்கு அது. 107 00:06:00,230 --> 00:06:03,780 குறியீடு வரிகளை நாம் முன்னர் தட்டச்சு மற்றும் doc.txt சேமிக்கப்படும். 108 00:06:03,780 --> 00:06:06,980 Hi. என் பெயர் ஜேசன் உள்ளது. 109 00:06:06,980 --> 00:06:09,120 என்றால் printer.c கொண்டு நாம் ஆழத்திற்கு, 110 00:06:09,120 --> 00:06:13,570 நாம் குறியீடு நிறைய நாம் தான் typewriter.c உள்ள வழியாக நடந்து என்ன ஒத்த தெரிகிறது என்று பார்க்க. 111 00:06:13,570 --> 00:06:16,720 நாம் கோப்பை திறந்து, அங்கு உண்மையில் வரி 22,, 112 00:06:16,720 --> 00:06:19,220 நாம் கோப்பு மூடப்பட்டு அங்கு மற்றும் வரி 39,, 113 00:06:19,220 --> 00:06:23,890 இரண்டு typewriter.c கிட்டத்தட்ட ஒரே மாதிரியானவை, fopen இரண்டாவது வாதம் சேமிக்கப்படும். 114 00:06:23,890 --> 00:06:26,510 நாம் ஒரு கோப்பு பாடிக்கொண்டிருக்கிறீர்கள் இந்த நேரத்தில், 115 00:06:26,510 --> 00:06:29,040 நாம் w பதிலாக r தேர்வு. 116 00:06:29,040 --> 00:06:31,950 எனவே, இந்த செயல்பாட்டின் இரண்டாவது பகுதி கவனம் செலுத்த வேண்டும். 117 00:06:31,950 --> 00:06:36,060 வரி 35 ல், நம் 4 வட்டத்திற்கு இரண்டாவது நிலை என, 118 00:06:36,060 --> 00:06:38,590 நாம், fgets ஒரு அழைப்பை 119 00:06:38,590 --> 00:06:42,190 முன் இருந்து fputs செய்ய துணை செயல்பாடு. 120 00:06:42,190 --> 00:06:44,660 நாங்கள் மூன்று வாதங்கள் இந்த நேரம். 121 00:06:44,660 --> 00:06:48,810 முதல் சரம் சேமிக்கப்படும் அங்கு எழுத்துக்கள் வரிசைக்கு சுட்டிக்காட்டி இருக்கிறது. 122 00:06:48,810 --> 00:06:52,670 இரண்டாவது படிக்க வேண்டும் கதாபாத்திரங்கள் அதிகபட்ச எண்ணிக்கை ஆகும். 123 00:06:52,670 --> 00:06:56,010 மற்றும் மூன்றாவது நாங்கள் பணியாற்றி வருகிறோம் எந்த கோப்பில் சுட்டிக்காட்டி இருக்கிறது. 124 00:06:56,010 --> 00:07:00,780 நீங்கள் fgets பூஜ்ய திரும்பும் போது லூப் முடியும் என்று கவனிக்க வேண்டும். 125 00:07:00,780 --> 00:07:02,940 இந்த நடந்தது என்று இரண்டு காரணம் உள்ளது. 126 00:07:02,940 --> 00:07:05,380 முதல், ஒரு பிழை ஏற்பட்டது. 127 00:07:05,380 --> 00:07:10,740 இரண்டாவது, மேலும் பெரும்பாலும், கோப்பு இறுதியில் அடைந்தது மேலும் எழுத்துக்கள் படிக்க வேண்டும். 128 00:07:10,740 --> 00:07:14,040 நீங்கள் என்ன செய்கிறீர்கள் வழக்கில், இரண்டு செயல்பாடுகளை நாம் சொல்ல அனுமதிக்க வேண்டும் என்று இல்லை 129 00:07:14,040 --> 00:07:17,160 எந்த காரணம் இந்த குறிப்பிட்ட பூஜ்ய சுட்டிக்காட்டி காரணம் என்று. 130 00:07:17,160 --> 00:07:21,090 மற்றும், இல்லை எனவேதான், அவர்கள் கோப்புகள் வேலை செய்ய வேண்டும் என்பதால், 131 00:07:21,090 --> 00:07:26,940 ferror செயல்பாடு மற்றும் feof செயல்பாடு தொடக்கத்தில் கடிதம் f உடனான. இரு 132 00:07:26,940 --> 00:07:32,130 >> இறுதியாக, நாம் முடிவுக்கு முன், கோப்பு விழா முடிவில் பற்றி ஒரு விரைவான குறிப்பு, 133 00:07:32,130 --> 00:07:36,690 இதில், ஒரு குறிப்பிட்ட என, feof என்று எழுதப்படுகிறது. 134 00:07:36,690 --> 00:07:41,550 பெரும்பாலும் நீங்கள் போது மற்றும் சுழல்கள் என்று படிப்படியாக கோப்புகள் மூலம் உங்கள் வழியில் படிக்க பயன்படுத்தி உங்களை பார்க்கிறேன். 135 00:07:41,550 --> 00:07:45,790 நீங்கள் இந்த கோப்புகளை அடையும் பிறகு இவ்வாறு, இந்த சுழல்கள் முடிவுக்கு ஒரு வழி வேண்டும். 136 00:07:45,790 --> 00:07:50,510 உங்கள் கோப்பு சுட்டிக்காட்டி மீது feof அழைப்பு அது உண்மை என்பதை சோதனை 137 00:07:50,510 --> 00:07:52,310 நான் அதை செய்ய வேண்டும். 138 00:07:52,310 --> 00:07:59,820 இதனால், நிலை (! Feof (ரேகை)) ஒரு நேரத்தில் வளைய ஒரு செய்தபின் பொருத்தமான தீர்வு போல இருக்கும். 139 00:07:59,820 --> 00:08:03,770 எனினும், நாம் நமது உரை கோப்பில் விட்டு ஒரு வரியில் சொல்ல. 140 00:08:03,770 --> 00:08:07,130 நாங்கள் எங்கள் போது வளைய உள்ளிட வேண்டும் மற்றும் திட்டமிட்டபடி எல்லாம் வெளியே வேலை செய்யும். 141 00:08:07,130 --> 00:08:12,750 மூலம் அடுத்த சுற்று, எங்கள் திட்டம், கைரேகை மற்றும் feof உண்மையானது என்பதை பார்க்கும் 142 00:08:12,750 --> 00:08:15,430 ஆனால் - இந்த இங்கே புரிந்து கொள்ள முக்கிய புள்ளி ஆகும் - 143 00:08:15,430 --> 00:08:17,770 அது இன்னும் உண்மையாக இருக்க முடியாது. 144 00:08:17,770 --> 00:08:21,110 Feof நோக்கம் சரிபார்க்க முடியவில்லை, ஏனெனில் அது தான் 145 00:08:21,110 --> 00:08:24,400 ஒரு வாசிக்க செயல்பாடு அடுத்த அழைப்பு கோப்பை இறுதி வெற்றி என்று, 146 00:08:24,400 --> 00:08:28,190 மாறாக கோப்பை இறுதியில் ஏற்கனவே அடைந்து வருகிறது அல்லது சரிபார்க்க. 147 00:08:28,190 --> 00:08:30,140 இந்த உதாரணம் வழக்கில், 148 00:08:30,140 --> 00:08:32,780 எங்கள் கோப்பில் கடைசி வரி படிக்கும் செய்தபின் சுமூகமாக, 149 00:08:32,780 --> 00:08:36,210 ஆனால் நிரல் இன்னும் நாம் கோப்பை இறுதி வெற்றி என்று தெரியவில்லை. 150 00:08:36,210 --> 00:08:40,549 இது ஒரு கூடுதல் வாசிப்பு செய்யும் வரை அது தான் கவுண்டர்கள் கோப்பை இறுதியில் அந்த. 151 00:08:40,549 --> 00:08:43,210 எனவே, ஒரு சரியான நிலையில் பின்வரும் வேண்டும்: 152 00:08:43,210 --> 00:08:49,330 fgets மற்றும் அதன் மூன்று வாதங்கள் - வெளியீடு, வெளியீடு அளவு, மற்றும் கைரேகை - 153 00:08:49,330 --> 00:08:52,570 அந்த சமமாக அனைத்து பூஜ்ய வேண்டும். 154 00:08:52,570 --> 00:08:55,260 இந்த, நாம் printer.c உள்ள எடுத்து அணுகுமுறையாகும் 155 00:08:55,260 --> 00:08:57,890 இந்த வழக்கில், சுழற்சி வெளியேறும் பின்னர், 156 00:08:57,890 --> 00:09:04,290 நீங்கள் feof அல்லது ferror இந்த வளைய வெளியேறும் குறிப்பிட்ட காரணம் என பயனர் அழைத்து தெரிவி முடியும். 157 00:09:04,290 --> 00:09:08,100 >> இந்த கட்டுரை எழுதுதல் மற்றும் ஒரு கோப்பை படித்து, அதன் அடிப்படை நேரத்தில், தான் 158 00:09:08,100 --> 00:09:10,150 ஒரு எளிய 3 பகுதி செயல். 159 00:09:10,150 --> 00:09:12,530 முதல், நாம் கோப்பை திறக்க. 160 00:09:12,530 --> 00:09:16,740 இரண்டாவது, நாங்கள் எங்கள் கோப்பில் சில விஷயங்களை வைத்து அல்லது அதை வெளியே சில விஷயங்களை எடுத்து. 161 00:09:16,740 --> 00:09:19,200 மூன்றாவது, நாம் கோப்பு மூட. 162 00:09:19,200 --> 00:09:21,170 முதல் மற்றும் கடைசி பகுதிகளில் எளிது. 163 00:09:21,170 --> 00:09:23,920 தந்திரமான பொருள் எங்கிருக்கிறது நடுத்தர பகுதியாக உள்ளது. 164 00:09:23,920 --> 00:09:27,760 மற்றும் இருப்பினும் பேட்டை அடியில் நாங்கள் எப்போதும், பூஜ்ஜியங்களும் ஒன்றுகளும் ஒரு நீண்ட வரிசை கையாள்வதில் 165 00:09:27,760 --> 00:09:30,710 சாராம்சம் ஒரு அடுக்கு சேர்க்க குறியீட்டு போது அது உதவி 166 00:09:30,710 --> 00:09:35,350 இன்னும் நெருக்கமாக நாம் பார்ப்பது வழக்கம் என்ன ஒத்திருக்கிறது என்று ஏதாவது ஒரு காட்சியில் மாறும். 167 00:09:35,350 --> 00:09:39,570 உதாரணமாக, நாம் ஒரு 24 பிட் பிட்மேப் கோப்பு வேலை என்றால், 168 00:09:39,570 --> 00:09:43,290 நாம் அநேகமாக படிக்கும் அல்லது ஒரு நேரத்தில் மூன்று பைட்டுகள் எழுதும். 169 00:09:43,290 --> 00:09:46,450 இதில், அதை வரையறை மற்றும் சரியான பெயரை உணர்வு என்று 170 00:09:46,450 --> 00:09:48,980 3 பைட்டுகள் பெரிய ஒரு struct. 171 00:09:48,980 --> 00:09:51,410 >> கோப்புகள் வேலை சிக்கலான தோன்றலாம் என்றாலும், 172 00:09:51,410 --> 00:09:54,530 அவற்றை பயன்படுத்தி எங்களுக்கு உண்மையிலேயே குறிப்பிடத்தக்க ஏதாவது செய்ய அனுமதிக்கிறது. 173 00:09:54,530 --> 00:09:58,880 நாம், நம் திட்டத்தை வெளி மாநில மாற்றலாம் 174 00:09:58,880 --> 00:10:01,730 நாம், நம் திட்டத்தை வாழ்க்கையை தாண்டி வாழ்ந்து என்று ஒன்று உருவாக்க முடியும் 175 00:10:01,730 --> 00:10:07,190 அல்லது நாம் இயங்குவதாக தொடங்கியது முன்னர் உருவாக்கப்பட்டது என்று ஏதாவது மாற்ற முடியும். 176 00:10:07,190 --> 00:10:11,210 கோப்புகளை தொடர்பு சி நிரலாக்கம் ஒரு உண்மையான சக்தி வாய்ந்த பகுதியாகும் 177 00:10:11,210 --> 00:10:15,300 மற்றும் நான், நீங்கள் வந்து குறியீடு உள்ள அதை உருவாக்க போகிறோம் என்ன பார்க்க மிகவும் ஆர்வமாக உள்ளேன். 178 00:10:15,300 --> 00:10:19,770 என் பெயர் ஜேசன் ஹிர்ஸ்கோஹார்ன் உள்ளது. இந்த CS50 உள்ளது. 179 00:10:19,770 --> 00:10:21,770 [CS50.TV] 180 00:10:21,770 --> 00:10:25,940 >> [சிரிப்பு] 181 00:10:25,940 --> 00:10:29,330 சரி. ஒரு எடுத்து. இங்கே நாம். 182 00:10:49,000 --> 00:10:52,140 நாம் ஒரு கோப்பு நினைக்கும் போது - >> ஓ, காத்திருக்க. மன்னிக்கவும். 183 00:10:52,140 --> 00:10:56,800 [சிரிப்பு] சரி. 184 00:11:06,620 --> 00:11:09,970 அங்கு ஏ. 185 00:11:13,670 --> 00:11:16,310 நாம் ஒரு கோப்பு நினைக்கும் போது - 186 00:11:17,610 --> 00:11:20,710 நீங்கள் ஒரு கோப்பு நினைக்கும் போது - சரி. நீங்கள் தயாராக இருக்கும்போது என்னிடம். 187 00:11:20,710 --> 00:11:22,520 ஓ, பெரும். 188 00:11:22,520 --> 00:11:26,180 ஒரு teleprompter இருந்து படித்து இருந்தாலும் தோன்றலாம் - இல்லை. என் கெட்ட.