[MUSIC پخش] ROB BOWDEN: سلام. I راب هستم، و امیدوار باشیم این راه حل کمک می کند تا شما را در مسیر بهبودی. بنابراین اجازه دهید شروع کنید. ما می بینیم که بلافاصله ما فقط مطمئن شوید که ما استفاده صحیح از بازیابی. بنابراین استفاده فقط باید چیزی باشد مانند اسلش دات بهبود می یابند. در حال حاضر ما قصد داریم برای باز کردن انتظار می رود کارت ارائه میشود فایل خام. ما در اینجا می بینیم که ما در حال استفاده از ثابت تاکید خام نام فایل، که در اینجا ما باید مخلوط تعریف شده به عنوان کارت نقطه خام. OK. بنابراین ما باید مطمئن شوید که با موفقیت افتتاح شد چرا که اگر آن را نمی، پس ما باید به کاربر هشدار می دهد. اما فرض کنید که این کار را کرد، ما در حال حاضر به رفتن به اعلام یک بافر از اندازه JPEG فایل طول نام. پس این است که رفتن به بافر است که ما قصد داریم به sprintf به. پس چه JPEG فایل طول نام است؟ تا اینجا، ما می بینیم که این هش تعریف شده به عنوان هشت. پس چرا هشت؟ خوب یک فایل داده خواهد شد به نام چیزی شبیه به صفر صفر صفر است. JPG و پس از آن ما نیاز به یک بک اسلش صفر است. بنابراین ما نیاز به یک بافر است که می تواند هشت کاراکتر را ذخیره کنید. در حال حاضر ما در حال رفتن به یک شمارنده است که رفتن به پیگیری عکس JPEG تعداد ما در بر داشت. و در نهایت، ما در حال رفتن به یک فایل JPEG است که در ابتدا تهی است که برای رفتن به در حال حاضر فایل باز است که ما در حال نوشتن به. در حال حاضر ما در حال رفتن به بافر اضافی. این است همان sprintf ما نیست بافر که در آن این بافر است که ما در داده های خواندن از کارت نقطه خام. بنابراین بافر در حال رفتن به از است کاراکتر بدون علامت، که شما می توانید اساسا فقط به ما درمان بایت، و آن را رفتن به از اندازه بلوک اندازه که در آن، به عنوان ما به شما بگویم، اندازه بلوک 512 است. بنابراین عکس JPEG یا شما می توانید همه چیز را درمان به عنوان بلوک از 512 کلمه در ادامه متن. در حال حاضر ما در حال رفتن به حلقه در کل فایل. ما قصد داریم به F به عنوان خوانده شده به بافر ما یک بار بایت اندازه بلوک از کارت ارائه میشود فایل خام. حالا چه F به عنوان خوانده شده بازگشت؟ این تابع تعداد اقلام که آن را با موفقیت به عنوان خوانده شده. پس اگر موفق به عنوان خوانده شده 512 بایت، پس از آن ما می خواهیم ببینیم که آیا این بود JPEG و یا ارسال آن را به یک فایل JPEG. و اگر آن را به 512 بایت بر نمی گرداند، سپس هر دو فایل را در به پایان رسید که در این صورت ما از Y شکستن حلقه، و یا نوعی از خطا وجود دارد که در این صورت ما نیز از شکستن Y حلقه، اما ما می خواهیم به گزارش که چیزی را اشتباه رفت. OK. بنابراین با این فرض که ما با موفقیت به عنوان خوانده شده در 512 کلمه در ادامه متن، ما به چک اول می خواهم به این است که این کلمه در ادامه متن است که ما فقط به عنوان خوانده شده در آغاز JPEG. بنابراین اگر هدر JPEG از بافر ما است. در حال حاضر آنچه در آن است هدر JPEG انجام می دهند؟ اجازه دهید نگاه کنید. تا اینجا، ما می بینیم که این تابع این است بازگشت به یک گاو نر، و گاو نر - خوب در اینجا، ما در حال بررسی میکند که اگر هدر صفر برابر این مقدار ثابت و هدر یک برابر این مقدار ثابت و هدر دو برابر این مقدار ثابت، هدر سه برابر این یا این ثابت که در آن تمام این ثابت هستند فقط هش تعریف شده در اینجا و دقیقا همان چیزی است که ما شما را در تنظیمات گفت که JPEG با آغاز می شود. و به این ترتیب این تابع فقط رفتن به بازگشت درست است در صورتی که این بافر را نشان می شروع یک JPEG جدید و غیر این صورت false. OK. بنابراین اگر این یک JPEG جدید، پس ما برای اولین بار می خواهید برای چک کنید اگر فایل JPEG است به تهی برابر نیست، که در این صورت ما آن را ببندید. و پس چرا ما نیاز به بررسی برای دیدن اگر آن تهی نیست؟ خب JPEG اول است که ما پیدا کردن ما در حال حاضر نمی خواهد که یک فایل JPEG را باز کنید. و به این ترتیب، اگر ما تلاش کنم تا که، پس از آن ما در حال انجام کاری کاملا درست نیست. اما هر JPEG پس از آن که ما برای باز کردن، ما می خواهیم به بستن فایل های قبلی است. بنابراین در حال حاضر ما در حال رفتن به استفاده از sprintf به ما قبل از که در آن ما با استفاده از گفت: نام فایل بافر JPEG. و ما قصد استفاده از فایل JPEG نام فرمت را به فرمت های ما. و این است که؟ تا اینجا، ما می بینیم که درصد صفر است 3D.JPEG که در آن صفر سه فقط می گوید که ما به سه عدد صحیح استفاده برای این کار را با صفر خالی می باشند. پس این است که چگونه ما را صفر صفر کنید one.JPEG و صفر 10.JPEG و غیره. ما قصد استفاده از sprintf. و عدد صحیح است که ما در حال قرار دادن به رشته عکس JPEG یا بی حس است بهبود، که در اصل صفر است. بنابراین فایل اول را باز کرد در جریان است به صفر صفر صفر نقطه JPEG. و سپس ما آن افزایش تا فایل بعدی ما باز خواهد بود صفر صفر یک نقطه JPEG و ما آن را افزایش دوباره پس از آن خواهید بود صفر صفر دو نقطه JPEG و غیره. بسیار خوب. بنابراین در حال حاضر در داخل فایل JPEG نام، ما به نام فایل که ما می خواهیم. ما می توانیم F باز کردن آن فایل را برای نوشتن. OK. و یک بار دیگر، ما نیاز به بررسی تا مطمئن اطمینان حاصل کنید که فایل را با موفقیت باز از سال اگر آن را نداشت، پس از آن بود برخی از خطا وجود دارد. بنابراین در حال حاضر ما به گذشته بدست این بخش JPEG است. و در اینجا، ما می بینیم که ما در حال رفتن به ارسال به JPEG. اما ما برای اولین بار از این چک که می گوید دارند اگر فایل JPEG می کند تهی برابر نیست. چرا ما نیاز به که؟ خب فایل JPEG برابر تهی زمانی که ما در حال حاضر یک JPEG باز. اگر کارت نقطه شروع اولیه با یک دسته از بایت ها که یک JPEG نمایندگی نیست؟ سپس ما در حال رفتن به می خواهم به جست و خیز بیش از کسانی که کلمه در ادامه متن. اگر ما این چک را نداشته باشند، پس ما هستیم رفتن به ارسال به باز نشده فایل 512 بایت اول کارت که خوب نیست. OK. بنابراین فرض ما یک فایل را باز، و سپس ما قصد داریم برای ارسال به آن فایل 512 بایت که ما در بافر ما داشته باشد. و ما یک بار دیگر چک کردن به شوید که 512 بایت موفقیت چون نوشته شده بود اگر آنها نبودند موفقیت نوشته شده است، پس از آن چیزی اشتباه رفت. ما فایل های ما را بسته، چاپ است که مشکلی پیش آمد، و بازگشت. با فرض اینکه همه چیز را درست می رود، پس از آن ما به حفظ حلقه بسته شدن فایل های قدیمی، باز کردن فایل جدید، نوشتن داده ها به فایل های جدید، و غیره تا زمانی که در نهایت، این F به عنوان خوانده شده صفر را بر می گرداند که به معنی که این فایل انجام شده است. پس اکنون که خواندن کارت است، ما ببینید که ما در حال رفتن به F بستن آخرین فایل است که ما تا به حال، اما ما در حال چک کردن اگر فایل JPEG می کند تهی برابر نیست. خب F نزدیک را حس می کند، زیرا به عنوان ما در حال باز کردن فایل، ما در حال بسته شدن فایل های قبلی است، اما بسیار گذشته فایل که ما باز هرگز بسته می شود. بنابراین این چیزی است که این انجام شده است. اما چرا ما باید برای تهی چک کنید؟ خب چه می شود اگر کارت نقطه خام نمی یک JPEG تنها در داخل از آن؟ در آن صورت، ما باید هرگز یک فایل را باز کرد. و اگر ما هرگز به یک فایل باز کردن، ما باید سعی کنید به نزدیک که فایل. بنابراین این چیزی است که این چک در حال انجام است. حالا در اینجا، همانطور که قبلا گفتم، ما می تواند که y حلقه یا اگر شکسته از اند کارت به پایان رسیده است و یا اگر وجود دارد برخی از خطا در خواندن از کارت. بنابراین این بررسی میکند که اگر وجود داشت خطا در خواندن از کارت، در که در این صورت، ما وجود دارد می گویند خواندن خطا بود. ما نمی خواهیم که کاربر را به فکر می کنم همه چیز با موفقیت رفت. و ما رو تو یکی برای بازگشت خطا. در نهایت، ما F بستن پرونده خام ما، کارت ما نقطه اولیه، نشان می دهد که همه چیز به خوبی و بازگشت رفت صفر و آن. نام من راب است و این بازیابی بود. [MUSIC پخش]