1 00:00:00,000 --> 00:00:09,500 >> [இசை கேட்கிறது] 2 00:00:09,500 --> 00:00:12,350 >> ZAMYLA சான்: இது மிஸ் ஸ்கார்லெட் இருந்தது குத்துவிளக்கை கொண்டு. 3 00:00:12,350 --> 00:00:13,560 ஹூட்யூனிட்? 4 00:00:13,560 --> 00:00:15,030 சரி, நாம் கண்டுபிடிக்க போகிறோம். 5 00:00:15,030 --> 00:00:20,870 குழு விளையாட்டு துப்பு, நீங்கள் போகலாம் ஒரு உடல் சிவப்பு படத்தை வழங்கப்படும். 6 00:00:20,870 --> 00:00:24,120 அந்த படத்தை மிகவும் சிவப்பு மற்றும் ஆகிறது புள்ளிகள், மற்றும் உங்கள் வேலை 7 00:00:24,120 --> 00:00:25,490 ரகசிய செய்தியை வெளிப்படுத்த. 8 00:00:25,490 --> 00:00:29,740 பொதுவாக நீங்கள் ஒரு சிவப்பு வழங்கப்படும் பூதக்கண்ணாடி, அல்லது ஒரு சிவப்பு திரை 9 00:00:29,740 --> 00:00:31,410 என்று ரகசிய செய்தியை வெளிப்படுத்த. 10 00:00:31,410 --> 00:00:33,340 சரி, நாம் என்று நையாண்டி செய்ய போகிறீர்கள். 11 00:00:33,340 --> 00:00:37,960 >> ஹூட்யூனிட் நீங்கள் ஒரு பிட்மாப் படத்தை கொடுத்து வருகிறோம் என்று, மிகவும் புள்ளிகள் மற்றும் சிவப்பு தெரிகிறது 12 00:00:37,960 --> 00:00:43,430 பின்னர் ஹூட்யூனிட் நிரலை ஒரு மறைக்கப்பட்ட செய்தி வெளிப்படுத்த. 13 00:00:43,430 --> 00:00:45,650 >> எனவே வழிமுறைகளை இந்த உடைக்கலாம். 14 00:00:45,650 --> 00:00:50,390 முதல், நீங்கள் கோப்பை திறக்க வேண்டும் - நீங்கள் கொடுத்த வருகிறோம் என்று துப்பு. 15 00:00:50,390 --> 00:00:53,880 பின்னர் ஒரு உருவாக்க தீர்ப்பு பிட்மேப் கோப்பு. 16 00:00:53,880 --> 00:00:58,240 நீங்கள் படங்கள் மேம்படுத்த வேண்டும் தீர்ப்பு outfile செய்ய தகவல் தலைப்பு. 17 00:00:58,240 --> 00:00:59,920 பின்னர் மேலும். 18 00:00:59,920 --> 00:01:04,319 பின்னர் நீங்கள் படிக்க போகிறோம் துப்பு, scanline, பிக்சல் மூலம் பிக்சல், 19 00:01:04,319 --> 00:01:07,320 பிக்சல் வண்ணங்களை மாற்றி தேவையான, மற்றும் எழுதும் 20 00:01:07,320 --> 00:01:08,960 தீர்ப்பை அந்த - 21 00:01:08,960 --> 00:01:12,000 பிக்சல் மூலம் பிக்சல் தீர்ப்பு scanline. 22 00:01:12,000 --> 00:01:13,780 >> நாம் எப்படி இது பற்றி நான் தொடங்க வேண்டும்? 23 00:01:13,780 --> 00:01:16,940 சரி, அதிர்ஷ்டவசமாக, நாம் எப்படி copy.c வேண்டும் விநியோக குறியீடு. 24 00:01:16,940 --> 00:01:21,240 இந்த நிரூபிக்க போகிறது எங்களுக்கு மிகவும் பயனுள்ளதாக இருக்கும். 25 00:01:21,240 --> 00:01:29,700 Copy.c, ஒரு கோப்பு திறக்கும் என்று கூறுகிறது பின்னர் infile, தலைப்பு, மற்றும் மேம்படுத்தல்கள் 26 00:01:29,700 --> 00:01:31,070 outfile செய்ய தான் தலைப்பு. 27 00:01:31,070 --> 00:01:37,010 பின்னர் அதை ஒவ்வொரு பிக்சல் கூறுகிறது பின்னர் scanline, பிக்சல் மூலம் பிக்சல், மற்றும் 28 00:01:37,010 --> 00:01:42,390 outfile கொண்டு அந்த பிக்சல் எழுதுகிறார். 29 00:01:42,390 --> 00:01:45,020 >> எனவே, உங்கள் முதல் படி வலிமை பின்வரும் இயக்க இருக்கும் 30 00:01:45,020 --> 00:01:46,420 டெர்மினல் கட்டளை - 31 00:01:46,420 --> 00:01:50,270 cp copy.c whodunit.c. 32 00:01:50,270 --> 00:01:55,320 இந்த ஒரு பிரதியை உருவாக்கும் copy.c whodunit.c பெயரிட்டார். 33 00:01:55,320 --> 00:01:58,320 எனவே திறக்க எங்கள் முதல் படி கோப்பு, நன்றாக, ஒரு சரியான இல்லை 34 00:01:58,320 --> 00:02:00,070 copy.c. என்று பிரதி 35 00:02:00,070 --> 00:02:03,360 அதனால் நான் பார்க்க நீங்கள் விட்டு விடுகிறேன். 36 00:02:03,360 --> 00:02:07,860 >> நாம் இந்த pset உள்ள கையாள்வதில் என்ன கோப்பு நான் / ஓ, அடிப்படையில் கோப்புகளை எடுத்து, 37 00:02:07,860 --> 00:02:10,229 வாசித்தல், எழுதுதல், அவற்றை திருத்த. 38 00:02:10,229 --> 00:02:12,650 எப்படி நீங்கள் முதலில் ஒரு கோப்பு திறக்க எப்படி? 39 00:02:12,650 --> 00:02:16,800 சரி, நீங்கள் ஒரு கோப்பின் அறிவிக்க போகிறீர்கள் சுட்டிக்காட்டி, பின்னர் நீங்கள் அழைக்கிறீர்கள் 40 00:02:16,800 --> 00:02:18,670 செயல்பாடு fopen. 41 00:02:18,670 --> 00:02:23,150 பாதை, அல்லது அந்த பெயர் அனுப்ப கோப்பு, பின்னர் நீங்கள் விரும்பும் முறையில் 42 00:02:23,150 --> 00:02:24,700 உள்ளே அந்த கோப்பு திறக்க 43 00:02:24,700 --> 00:02:28,620 ஆர் கடந்து செல்லும் திறக்கும் வாசிப்பு foo.bmp. 44 00:02:28,620 --> 00:02:35,670 அதேசமயம் ஒரு W கடந்து கொண்டு fopen சாப்பிடுவேன் திறந்த bar.bmp, கோப்பு எழுத 45 00:02:35,670 --> 00:02:37,020 உண்மையில் இது எடிட்டிங். 46 00:02:37,020 --> 00:02:41,970 >> எனவே இப்போது நாம் கோப்பை திறந்து விட்டேன் என்று, எங்கள் அடுத்த தலைப்பு தகவல் புதுப்பிக்க ஆகிறது 47 00:02:41,970 --> 00:02:43,230 outfile செய்ய. 48 00:02:43,230 --> 00:02:44,610 ஒரு தலைப்பு தகவல் என்ன? 49 00:02:44,610 --> 00:02:48,160 சரி, முதலில் நாம் அறிந்து கொள்ள வேண்டும் என்ன ஒரு பிட்மாப் ஆகிறது. 50 00:02:48,160 --> 00:02:51,000 ஒரு பிட்மாப் ஒரு எளிய ஆகிறது பைட்டுகள் ஏற்பாடு. 51 00:02:51,000 --> 00:02:55,480 அவர்கள் இந்த கோப்பு அறிவித்தார் ஒரு கொத்து இங்கே, bmp.h, 52 00:02:55,480 --> 00:02:58,610 என்ன ஒரு பிட்மாப் தகவல் உண்மையில் வெளியே செய்யப்படுகிறது. 53 00:02:58,610 --> 00:03:05,730 ஆனால் நாம் உண்மையிலேயே அக்கறை இருக்கிறது பிட்மேப் கோப்பு தலைப்பு, இங்கே, மற்றும் 54 00:03:05,730 --> 00:03:08,460 இங்கே படங்கள் தகவல் தலைப்பு,. 55 00:03:08,460 --> 00:03:13,170 தலைப்பு ஒரு ஜோடி உருவாக்குகின்றது மிகவும் பயனுள்ளதாக அமையும் என்று மாறிகள். 56 00:03:13,170 --> 00:03:18,400 இது biSizeImage உள்ளது பைட்டுகள் படத்தை மொத்த அளவு. 57 00:03:18,400 --> 00:03:20,890 இந்த பிக்சல்கள் மற்றும் திணிப்பு அடங்கும். 58 00:03:20,890 --> 00:03:24,210 பேட்டிங் மிகவும் முக்கியமானது, ஆனால் நாம் பின்னர் அது கிடைக்கும். 59 00:03:24,210 --> 00:03:30,000 >> BiWidth அகலம் பிரதிபலிக்கிறது பிக்சல்கள் கழித்து திணிப்பு படத்தை. 60 00:03:30,000 --> 00:03:34,220 BiHeight பின்னர் உயரம் ஆகிறது பிக்சல் படத்தை. 61 00:03:34,220 --> 00:03:38,240 பின்னர் BITMAPFILEHEADER மற்றும் நான் குறிப்பிட்டுள்ள BITMAPINFOHEADER, 62 00:03:38,240 --> 00:03:40,900 முன்னதாக, அந்த குறிப்பிடப்படுகின்றன structs என. 63 00:03:40,900 --> 00:03:45,410 எனவே, நீங்கள் கோப்பு தலைப்பு அணுக முடியாது தன்னை, ஆனால் நீங்கள் பெற வேண்டும் என்று நான் நினைக்கிறேன் 64 00:03:45,410 --> 00:03:47,370 உள்ளே அந்த மாறிகள். 65 00:03:47,370 --> 00:03:48,170 >> சரி. 66 00:03:48,170 --> 00:03:50,600 நாம் எப்படி தலைப்பு தகவல் புதுப்பிக்க என்ன? 67 00:03:50,600 --> 00:03:54,020 சரி, முதலில் நாம் பார்க்க வேண்டும் நாம் என்பதை எந்த தகவல் மாற்ற வேண்டும் 68 00:03:54,020 --> 00:03:58,480 இங்கு, infile, துப்பு, outfile செய்ய, தீர்ப்பு. 69 00:03:58,480 --> 00:04:00,250 எதையும் இந்த வழக்கில் மாறி வருகிறது? 70 00:04:00,250 --> 00:04:04,320 சரி, உண்மையில், நாம் போகிறோம், ஏனெனில் நிறங்கள் மாற்ற வேண்டும். 71 00:04:04,320 --> 00:04:07,550 நாம் கோப்பு மாற்ற போவதில்லை அளவு, படத்தை அளவு, அகலம், 72 00:04:07,550 --> 00:04:08,310 அல்லது உயரம். 73 00:04:08,310 --> 00:04:14,010 எனவே நீங்கள் இப்போது அனைத்து சரிதான் ஒவ்வொரு பிக்சல் நகல். 74 00:04:14,010 --> 00:04:14,840 >> சரி. 75 00:04:14,840 --> 00:04:20,720 எனவே இப்போது எப்படி நாம் உண்மையில் பார்க்க வேண்டும் கோப்பு இருந்து ஒவ்வொரு பிக்சல் படிக்க முடியும். 76 00:04:20,720 --> 00:04:23,640 மற்றொரு கோப்பு நான் / ஓ செயல்பாடு நாடகம் வரும் - 77 00:04:23,640 --> 00:04:24,700 fread. 78 00:04:24,700 --> 00:04:28,440 இது struct ஒரு சுட்டிக்காட்டி உள்ள எடுக்கிறது என்று பைட்டுகள் கொண்டிருக்கும் என்று 79 00:04:28,440 --> 00:04:30,110 நீங்கள் படித்து. 80 00:04:30,110 --> 00:04:31,890 எனவே உங்களுக்கு என்று ஒரு வாசிப்பு. 81 00:04:31,890 --> 00:04:36,090 பின்னர் நீங்கள் இது, ஒரு அளவு கடந்து ஒவ்வொரு உறுப்பு அளவு என்று நீங்கள் 82 00:04:36,090 --> 00:04:37,360 படிக்க வேண்டும். 83 00:04:37,360 --> 00:04:40,640 இங்கே, செயல்பாடு sizeof கைக்குள் வரும். 84 00:04:40,640 --> 00:04:45,570 நீங்கள், பல கடந்து இது கூறுகள் எண்ணிக்கை பிரதிநிதித்துவம் 85 00:04:45,570 --> 00:04:47,480 வாசிக்க அளவு. 86 00:04:47,480 --> 00:04:51,180 பின்னர் இறுதியாக, inptr, இது நீங்கள் அந்த கோப்பு சுட்டிக்காட்டி 87 00:04:51,180 --> 00:04:52,530 படிக்க போகிறேன். 88 00:04:52,530 --> 00:04:58,650 எனவே அந்த உறுப்புகள் அனைத்தும் உள்ளே இருக்கின்றன inptr அவர்கள் தரவு போகிறோம். 89 00:04:58,650 --> 00:05:01,660 >> ஒரு சிறிய உதாரணம் பார்க்கலாம். 90 00:05:01,660 --> 00:05:07,590 நான் தரவு இரண்டு நாய்கள் படிக்க வேண்டும் என்றால், சரி, நான் அதை இரண்டு வழிகளில் ஒன்று செய்ய முடியும். 91 00:05:07,590 --> 00:05:15,250 நான் ஒன்று அளவு இரண்டு பொருட்களை படிக்க முடியும் என் inptr இருந்து நாய், அல்லது நான் படிக்க முடியும் 92 00:05:15,250 --> 00:05:19,280 ஒரு இரண்டு நாய்கள் அளவு எதிர்க்கவில்லை. 93 00:05:19,280 --> 00:05:23,580 எனவே நீங்கள் பார்க்க என்று வழி பொறுத்து நீங்கள், நீங்கள் அளவு மற்றும் பல ஏற்பாடு 94 00:05:23,580 --> 00:05:25,840 பைட்டுகள் அதே எண்ணை படிக்க முடியும். 95 00:05:25,840 --> 00:05:28,720 96 00:05:28,720 --> 00:05:33,020 >> எனவே, இப்பொழுது மாற்ற வேண்டும் நாம் வேண்டும் என பிக்சல் நிறம். 97 00:05:33,020 --> 00:05:37,320 நீங்கள் மீண்டும் bmp.h பார்த்தால், பின்னர் நீங்கள் கீழே காணலாம் 98 00:05:37,320 --> 00:05:42,920 RGBTRIPLEs, மற்றொரு struct எங்கே அவர்கள் மூன்று பைட்டுகள் கொண்டதாகும். 99 00:05:42,920 --> 00:05:49,220 ஒன்று, rgbtBlue, rgbtGreen, மற்றும் rgbtRed. 100 00:05:49,220 --> 00:05:52,480 எனவே இந்த ஒவ்வொரு அளவு குறிக்கப்படுகிறது நீல, பச்சை அளவு, மற்றும் 101 00:05:52,480 --> 00:05:57,250 இந்த பிக்சல் உள்ளே சிவப்பு, அளவு, அங்கு ஒவ்வொரு அளவு ஒரு குறிப்பிடப்படுகின்றன 102 00:05:57,250 --> 00:05:58,670 எண்ம. 103 00:05:58,670 --> 00:06:04,370 >> எனவே FF0000 இருந்தால் ஒரு நீல நிற இருக்கும், அது நீல இருந்து செல்கிறது, ஏனெனில் 104 00:06:04,370 --> 00:06:05,850 சிவப்பு, பச்சை. 105 00:06:05,850 --> 00:06:09,300 பின்னர் அனைத்து F வெள்ளை இருக்கும். 106 00:06:09,300 --> 00:06:13,440 தான் smiley.bmp பாருங்கள், அழைத்து செல்லலாம் இது நீங்கள் உங்கள் விநியோகம் குறியீடு வேண்டும். 107 00:06:13,440 --> 00:06:15,690 நீங்கள் ஒரு படத்தை திறக்க என்றால் பார்வையாளர், பின்னர் நீங்கள் 108 00:06:15,690 --> 00:06:17,080 ஒரு சிவப்பு ஸ்மைலி பார்க்க. 109 00:06:17,080 --> 00:06:20,380 ஆனால் நாம் பிறகு, ஒரு ஆழமான முழுக்கு எடுத்து பார்க்க அந்த அமைப்பு 110 00:06:20,380 --> 00:06:22,340 அது தான் பிக்சல்கள் ஆகிறது. 111 00:06:22,340 --> 00:06:25,880 நாம் வெள்ளை பிக்சல்கள் வேண்டும், பின்னர் சிவப்பு பிக்சல்கள். 112 00:06:25,880 --> 00:06:31,000 அனைத்து பின்னர், வெள்ளை ffffff, மற்றும் நான் உங்களுக்கு உள்ள வண்ணமாக நீ சிவப்பு பிக்சல்கள் 113 00:06:31,000 --> 00:06:35,440 இங்கே, நீங்கள் அவர்கள் 0000ff என்று பார்க்கிறீர்கள். 114 00:06:35,440 --> 00:06:39,760 ஜீரோ நீலம், பூஜ்யம், பச்சை, மற்றும் முழு சிவப்பு. 115 00:06:39,760 --> 00:06:45,350 மற்றும் ஸ்மைலி எட்டு பிக்சல்கள் அளவில் உள்ளது என்பதால், நாம் எந்த திணிப்பு இல்லை. 116 00:06:45,350 --> 00:06:47,360 எல்லாம் சரி. 117 00:06:47,360 --> 00:06:53,310 >> நான் வெவ்வேறு மதிப்புகள் ஒதுக்க வேண்டும் என்றால் ஒரு RGBTRIPLE மற்றும் நான் விரும்பினேன் 118 00:06:53,310 --> 00:06:58,350 அது பச்சை செய்ய, பின்னர் நான் என்ன செய்ய வேண்டும் ஆகிறது நான் என்ற ஒரு RGBTRIPLE, அறிவிக்க வேண்டும் 119 00:06:58,350 --> 00:07:02,660 மூன்று, பின்னர் ஒவ்வொரு அணுக என்று struct நான் உள்ள பைட் 120 00:07:02,660 --> 00:07:04,030 டாட் ஆபரேட்டர் பயன்படுத்த வேண்டும். 121 00:07:04,030 --> 00:07:08,430 எனவே triple.rgbtBlue, நான் 0 என்று ஒதுக்க. 122 00:07:08,430 --> 00:07:13,460 பசுமை நான் அதை முழுமையாக ஒதுக்க முடியாது - எந்த எண், உண்மையில், 0 மற்றும் ff இடையே. 123 00:07:13,460 --> 00:07:15,470 பின்னர் சிவப்பு, நான் 0 சொல்ல போகிறேன். 124 00:07:15,470 --> 00:07:19,160 எனவே எனக்கு ஒரு பச்சை பிக்சல் கொடுக்கிறது. 125 00:07:19,160 --> 00:07:23,030 >> அடுத்து, நான் பார்க்க என்ன வேண்டும் என்றால் ஏதாவது மதிப்பு? 126 00:07:23,030 --> 00:07:27,250 நான் சரிபார்க்கிறது என்று ஒன்று உண்டு மூன்று தான் rgbtBlue மதிப்பு என்பது 127 00:07:27,250 --> 00:07:31,080 FF பின்னர் அச்சு, "நான் உணர்கிறேன் நீல! "விளைவாக. 128 00:07:31,080 --> 00:07:35,640 இப்போது, அர்த்தம் இல்லை பிக்சல், நீலம் என்று? 129 00:07:35,640 --> 00:07:40,060 பிக்சல் பச்சை மற்றும் சிவப்பு மதிப்புகள் ஏனெனில் மேலும் அல்லாத 0 மதிப்புகள் முடியும். 130 00:07:40,060 --> 00:07:43,470 இந்த பொருள் என்று அனைத்து, மற்றும் அனைத்து என்று இந்த சோதனை 131 00:07:43,470 --> 00:07:45,610 ஒரு முழு நீல நிறம். 132 00:07:45,610 --> 00:07:50,050 ஆனால் அனைத்து பிக்சல்கள் மேலும் பகுதியளவு முடியும் இந்த வண்ண மதிப்புகளை, 133 00:07:50,050 --> 00:07:52,180 இங்கே அடுத்த உதாரணம். 134 00:07:52,180 --> 00:07:55,400 >> இது ஒரு சிறிய கடினமாக பார்க்க தான் இந்த படத்தை இப்போது என்ன. 135 00:07:55,400 --> 00:08:00,320 இந்த ஒரு சிறிய பிட் மேலும் தெரிகிறது நீங்கள் வழங்கப்படும் என்று clue.bmp. 136 00:08:00,320 --> 00:08:03,600 இப்போது, உடல், நீங்கள் இதை தீர்க்க வேண்டும், மூலம், சிவப்பு நிறைய உள்ளது, ஏனெனில் 137 00:08:03,600 --> 00:08:07,040 படத்தை ஒரு சிவப்பு திரை வைத்திருக்கும் அதனால் மற்ற நிறங்கள் தோன்றும் என்று. 138 00:08:07,040 --> 00:08:10,968 நாம் எப்படி கேட்ச் இந்த பிரதிபலிக்கும் என்ன? 139 00:08:10,968 --> 00:08:15,640 சரி, நாம் அனைத்து சிவப்பு நீக்க வேண்டும் படத்தை முழுவதுமாக. 140 00:08:15,640 --> 00:08:21,870 எனவே நாம் ஒவ்வொரு அமைக்க வேண்டும் என்று செய்ய 0 பிக்சல் சிகப்பு மதிப்பு. 141 00:08:21,870 --> 00:08:25,020 அதனால் படத்தை ஒரு சிறிய இருக்கும் நாம் எந்த சிவப்பு எங்கே இந்த, போன்ற பிட் 142 00:08:25,020 --> 00:08:26,300 தேவையில்லை. 143 00:08:26,300 --> 00:08:29,390 >> நாம் மறைந்த செய்தியை ஒரு பார்க்க முடியும் இன்னும் கொஞ்சம் தெளிவாக இப்போது. 144 00:08:29,390 --> 00:08:31,730 இது மற்றொரு ஸ்மைலி முகம் தான். 145 00:08:31,730 --> 00:08:33,870 அல்லது ஒருவேளை நாம் மற்றொரு முறை பயன்படுத்த முடியும். 146 00:08:33,870 --> 00:08:36,480 ஒருவேளை, நாம் அடையாளம் காட்ட முடியும் சிவப்பு பிக்சல்கள் அனைத்து - 147 00:08:36,480 --> 00:08:41,100 என்று, பிக்சல்கள் அனைத்து ஆகிறது 0 நீல, 0, பச்சை, மற்றும் 0 சிவப்பு - 148 00:08:41,100 --> 00:08:43,169 மற்றும் வெள்ளை அந்த மாற்ற. 149 00:08:43,169 --> 00:08:45,470 எங்கள் படத்தை பார்க்க வேண்டும் இந்த மாதிரி ஏதாவது. 150 00:08:45,470 --> 00:08:48,250 பார்க்க ஒரு சிறிய பிட் எளிதாக. 151 00:08:48,250 --> 00:08:51,170 >> கண்டறிய பல வழிகள் நிறைய உள்ளன இரகசிய செய்தி அத்துடன், 152 00:08:51,170 --> 00:08:53,730 வண்ண கையாளுதல் கையாள்வதில். 153 00:08:53,730 --> 00:08:57,050 ஒருவேளை நீங்கள் முறைகளில் ஒன்றாக பயன்படுத்த வேண்டும் நான் மேலே குறிப்பிட்ட அந்த. 154 00:08:57,050 --> 00:08:59,600 மற்றும் கூடுதலாக, நீங்கள் வேண்டும் சில நிறங்கள் அதிகரிக்க 155 00:08:59,600 --> 00:09:02,620 அந்த வெளியே கொண்டுவர. 156 00:09:02,620 --> 00:09:06,190 >> எனவே இப்போது நாம் பிக்சல் மாறிவிட்டேன் என்று நிறம், அடுத்த நாம் தான் அவர்களை எழுத வேண்டும் 157 00:09:06,190 --> 00:09:08,500 பிக்சல் மூலம் scanline உள்ள, பிக்சல். 158 00:09:08,500 --> 00:09:11,860 இன்னும் மீண்டும், நீங்கள் திரும்பி பார்க்க வேண்டும் என்று நான் நினைக்கிறேன் நீங்கள் நகல் இல்லை என்றால், copy.c செய்ய 159 00:09:11,860 --> 00:09:18,170 அது ஏற்கனவே, மற்றும் fwrite பார்க்க தரவு எடுக்கும் எந்த செயல்பாடு, ஒரு சுட்டிக்காட்டி 160 00:09:18,170 --> 00:09:23,230 பைட்கள் உள்ளன என்று struct என்று நீங்கள் அளவு, படித்து என்று 161 00:09:23,230 --> 00:09:26,610 பொருட்களை, பொருட்களை எண்ணிக்கை, பின்னர் outptr - 162 00:09:26,610 --> 00:09:29,450 அந்த கோப்புகளை இலக்கு. 163 00:09:29,450 --> 00:09:34,010 >> நீங்கள் பிக்சல்கள் எழுத பிறகு, நீங்கள் மேலும் திணிப்பு எழுத வேண்டும். 164 00:09:34,010 --> 00:09:34,970 திணிப்பு என்பது என்ன? 165 00:09:34,970 --> 00:09:38,670 நன்றாக, ஒவ்வொரு rgbt பிக்சல் மூன்று பைட்டுகள் நீண்ட ஆகிறது. 166 00:09:38,670 --> 00:09:43,670 ஆனால், ஒரு பிட்மே படத்தை scanline நான்கு பைட்டுகள் ஒரு பல இருக்க வேண்டும். 167 00:09:43,670 --> 00:09:47,650 மற்றும் பிக்சல்கள் எண்ணிக்கை இல்லை என்றால் ஒரு நான்கு பல, நாம் சேர்க்க வேண்டும் 168 00:09:47,650 --> 00:09:48,880 இந்த திணிப்பு. 169 00:09:48,880 --> 00:09:51,420 பேட்டிங் வெறும் 0 க்கள் குறிப்பிடப்படுகின்றன. 170 00:09:51,420 --> 00:09:54,380 எனவே, எப்படி நாம் எழுத, அல்லது இந்த படிக்க வேண்டும்? 171 00:09:54,380 --> 00:09:59,280 சரி, அது மாறிவிடும் நீங்கள் முடியாது என்று உண்மையில் fread திணிப்பு, ஆனால் நீங்கள் 172 00:09:59,280 --> 00:10:00,970 அதை கணக்கிட. 173 00:10:00,970 --> 00:10:04,400 >> இந்த வழக்கில், துப்பு மற்றும் தீர்ப்பு அதே அகல வேண்டும், அதனால் 174 00:10:04,400 --> 00:10:05,910 திணிப்பு அதே ஆகிறது. 175 00:10:05,910 --> 00:10:09,370 மற்றும் திணிப்பு, நீங்கள் பார்க்க வேண்டும் என copy.c உள்ள, கணக்கிடப்படும் 176 00:10:09,370 --> 00:10:11,790 கீழே சூத்திரம் - 177 00:10:11,790 --> 00:10:16,690 bi.biWidth முறை sizeof (RGBTRIPLE) சாப்பிடுவேன் எவ்வளவு பைட்டுகள் bmp எங்களுக்கு கொடுக்க 178 00:10:16,690 --> 00:10:18,280 ஒவ்வொரு வரிசையில் உள்ளது. 179 00:10:18,280 --> 00:10:21,890 அங்கு இருந்து, modulos விரைவாக 4 கணக்கிட முடியும் எப்படி 180 00:10:21,890 --> 00:10:25,610 பல பைட்டுகள் சேர்க்க வேண்டும் என்று அன்று பைட்டுகள் பல 181 00:10:25,610 --> 00:10:27,250 ஒவ்வொரு வரிசையில் நான்கு ஆகிறது. 182 00:10:27,250 --> 00:10:30,490 >> இப்போது நாம் சூத்திரம் வேண்டும் என்று நாம் வேண்டும் எவ்வளவு திணிப்பு, இப்போது 183 00:10:30,490 --> 00:10:31,610 நாம் அதை எழுத முடியும். 184 00:10:31,610 --> 00:10:34,080 இப்போது, நான் முன்பு கூறியது, திணிப்பு வெறும் 0 க்கள் ஆகிறது. 185 00:10:34,080 --> 00:10:39,730 அந்த வழக்கில், நாம் தான் வைத்து இந்த வழக்கில் ஒரு 0 ஒரு கரி, எங்கள் 186 00:10:39,730 --> 00:10:41,710 outptr - எங்கள் outfile. 187 00:10:41,710 --> 00:10:47,530 அதனால் தான் fputc இருக்க முடியும் 0, கமா outptr. 188 00:10:47,530 --> 00:10:52,400 >> எனவே, நாம் படித்து வருகிறோம் போது எங்கள் கோப்பு, கோப்பு I / O பாதையில் வைத்து எங்கள் 189 00:10:52,400 --> 00:10:57,440 ஏதாவது அந்த கோப்புகளை நிலை கோப்பு நிலையை காட்டி என்று. 190 00:10:57,440 --> 00:10:59,350 ஒரு கர்சர் என நினைக்கிறேன். 191 00:10:59,350 --> 00:11:03,550 அடிப்படையில், அது ஒவ்வொரு முறையும் முன்னெடுக்கிறது நாம் fread, ஆனால் நாம் என்று 192 00:11:03,550 --> 00:11:05,671 கூட, அதை கட்டுப்படுத்த. 193 00:11:05,671 --> 00:11:11,030 >> கோப்பு நிலையை காட்டி நகர்த்த, நீங்கள் செயல்பாடு fseek பயன்படுத்த முடியும். 194 00:11:11,030 --> 00:11:15,600 Inptr கோப்பு பிரதிபலிக்கிறது எங்கே நீங்கள் தேடும் என்று சுட்டிக்காட்டி, 195 00:11:15,600 --> 00:11:20,370 அளவு பைட்டுகள் எண்ணிக்கை என்று நீங்கள் பிறகு நகர்த்து, மற்றும் வேண்டும் 196 00:11:20,370 --> 00:11:23,470 குறிப்பு புள்ளி தொடர்புடையது உங்கள் கர்சர் எங்கே இருந்து. 197 00:11:23,470 --> 00:11:26,770 நீங்கள் SEEK_CUR கடந்து இருந்தால், அந்த தற்போதைய பிரதிபலிக்கிறது 198 00:11:26,770 --> 00:11:28,100 கோப்பு நிலை. 199 00:11:28,100 --> 00:11:31,020 அல்லது நீங்கள் வேறு சில அளவுருக்கள் பயன்படுத்த முடியும். 200 00:11:31,020 --> 00:11:35,400 எனவே, நாம் தவிர்க்க fseek பயன்படுத்த வேண்டும் உள்ள கோப்பு பேட்டிங்கின் மீது. 201 00:11:35,400 --> 00:11:39,410 நீங்கள் சிக்கி என்றால், மீண்டும், அங்கு copy.c. என்று ஒரு உதாரணம் 202 00:11:39,410 --> 00:11:43,260 >> எனவே இப்போது நாம் கோப்பை திறந்து, துப்பு, மற்றும் தீர்ப்பு. 203 00:11:43,260 --> 00:11:46,450 நாம் தலைப்பு தகவல் மேம்படுத்தப்பட்டது நம் தீர்ப்பு, ஏனெனில் ஒவ்வொரு 204 00:11:46,450 --> 00:11:48,730 படங்கள் ஒரு தலைப்பு வேண்டும். 205 00:11:48,730 --> 00:11:52,280 நாம் துப்பு தான் ஒரு படிக்க scanline, பிக்சல் மூலம் பிக்சல், மாறி 206 00:11:52,280 --> 00:11:55,210 ஒவ்வொரு வண்ண தேவையான, மற்றும் அந்த எழுதி 207 00:11:55,210 --> 00:11:57,340 தீர்ப்பு, பிக்சல் மூலம் பிக்சல். 208 00:11:57,340 --> 00:12:01,550 நீங்கள் தீர்ப்பு திறக்க, நீங்கள் பார்க்க முடியும் குற்றவாளி, அல்லது என்ன ரகசியம் 209 00:12:01,550 --> 00:12:02,850 செய்தி உள்ளது. 210 00:12:02,850 --> 00:12:05,550 என் பெயர் Zamyla உள்ளது, மற்றும் இந்த ஹூட்யூனிட் இருந்தது. 211 00:12:05,550 --> 00:12:12,864