SPEAKER 1: اجازه دهید به یک برنامه بنویسید که سپس از کاربر برای اسامی و خانه ها از سه دانشجو. اما نه تنها از چاپ آنها نام و خانه را به روی صفحه نمایش، اجازه دهید به جای آن، اطلاعات ذخیره بر روی دیسک. به عبارت دیگر، اجازه دهید ایجاد، می گویند، CSV فایل، برای مقادیر جدا شده با کاما، است که در واقع فقط یک فایل متنی است که برنامه ها مانند اکسل و یا شماره می تواند باز کردن، و به طور موثر صرفه جویی در آن نام ها و خانه ها به طور دائم به طوری که ما می توانیم آنها را بعد از بررسی. برای این کار، اجازه دهید که نگاهی را برخی از کد boilerplate که من با در حال حاضر آغاز شده است. توجه داشته باشید برای اولین بار است که در میان هدر تا بالا در حال حاضر lib.h استاندارد که اتفاق می افتد به برخی از توابع مربوط به به پرونده I / O، ورودی فایل و خروجی است. توجه داشته باشید که من هم اعلام کرده ام ثابت نام دانش آموزان - در همه کلاه - که مقدار است سخت به عنوان سه کدگذاری. توجه کنید که در حال حاضر در داخل از اصلی من برنامه، من اعلام آرایه ای از اندازه سه با استفاده از ثابت به نام دانش آموزان هر یک از اعضا که از دانش آموزان را تایپ کنید. به یاد بیاورید که در حال حاضر یک دانش آموز ما تعریف به عنوان داشتن یک نام و یک خانه هر دو از که رشته به عنوان در این اعلام دستور، نقطه ساعت. در حال حاضر در structs1.c توجه کنید که یک حلقه for در اینجا که رفتن به تکرار از صفر تا سه. این به من بی درنگ برای یک دانش آموز نام و خانه دانش آموز دوباره و دوباره و دوباره. سپس در پایین از این برنامه، توجه کنید که من یکی دیگر از حلقه for که رفتن را به رایگان دانشجویی i ام در نام و خانه دانشجویی i ام در به طور مشابه حلقه ساخته شده است. برای اینکه مطمئن شوید، ما می تواند از آن حلقه ترکیب را تنها در یک، اما من می خواستم به برخی از بخش های متمایز از کد به خاطر بحث در اینجا. در حال حاضر در بین کسانی که برای حلقه، اجازه دهید در واقع دیگری داشته باشد، و این یکی را هدف در زندگی است که در واقع نجات همه از این نام ها و خانه های که در حال حاضر در RAM بر روی دیسک به صورت از مقادیر جدا شده با کاما. برای این کار، ما قصد داریم به استفاده از سه تابع جدید - F باز، F چون printf و F نزدیک، که باز کردن یک فایل، چاپ به یک فایل، و بستن یک فایل. ما می توانیم آنها را به شرح زیر استفاده کنید. FILE، در همه کلاه است، که تا حدودی از کنجکاوی در C، FILE fopen می شود نقل قول نقل قول را تمام کردن و در حال حاضر یک نام برای فایل، می گویند، students.CSV، اما من می توانم آن را بیشتر از هر چیزی، کاما و در حال حاضر من رفتن به تعیین یک وات در داخل به نقل از دو برابر شود. W، همانطور که شما ممکن است حدس زده در حال حاضر، بدان معنی است که fopen باید این فایل را باز نام Students.CSV برای نوشتن تا که ما در واقع می تواند صرفه جویی مطالب به آن. چک در کنار بیایید اگر فایل است به تهی برابر نیست. از آنجا که اگر از آن است، چیزی است که احتمالا خطا رفته اند که در این صورت ما نباید ادامه دهید سعی کنید به برای چاپ هر چیزی به آن. اما اگر آن را تهی نیست، پس از آن در داخل از آکولاد من قصد دارم به تکرار از من برابر با 0 در تا دانش آموزان، و من قصد دارم به در هر تکرار افزایش من. و در داخل این حلقه، I رفتن به هستم fprintf، تا که به چاپ را در یک فایل - به طور خاص از یک من در حال حاضر باز - یک رشته که به نظر می رسد مثل این از٪ s،٪ s را بک اسلش N اعلان نزدیک است. و در حال حاضر من می خواهم به برق وصل کردن به هر یک از آن دسته از متغیرهایی ارزش واقعی نام یک دانش آموز و یک خانه با استفاده از عملگر نقطه. i.name دانش آموزان پایه، دانش آموزان پرانتز i.house براکت نزدیک نیمه روده بزرگ است. در حال حاضر در زیر این حلقه، من به سادگی هستم رفتن به fclose از فایل تماس بگیرید به منظور در نهایت بستن پرونده. حالا وقتی که من این برنامه را اجرا کنید، من باید نیست در واقع هر چیزی را ببینید در صفحه نمایش، اما من باید پس از در حال اجرا این برنامه یک فایل با نام Students.CSV در همان دایرکتوری که من فرمان را در آن باید اجرا شود شامل کاما از هم جدا لیست از ارزش ها. بیایید نگاهی به. را struct ها 1. / structs1 دانش آموز نام، اجازه دهید بگویم دیوید، او در ماتر زندگی می کنند. نام دانش آموز، اجازه دهید بگویم، لورن، او را در Leverett زندگی می کنند. نام دانش آموز، اجازه دهید بگویم، راب، او به در و Kirkland زندگی می کنند. در حال حاضر، دوباره، به عنوان انتظار می رود، هیچ چیز به نظر می رسد به اتفاق افتاده است، اما اجازه دهید من به جلو در خط فرمان و نوع گرم ویرایش students.CSV به این امید که که فایل در واقع وجود دارد. نرمافزاری gedit students.CSV را وارد کنید، و در واقع، توجه کنید که یک فایل حاوی صرفا متن، اما متن با کاما جدا شده برای هر رشته، در واقع وجود دارد. و اگر ما شد، CS50 با استفاده از لوازم خانگی، اما مک بیشتر آشنا یا PC، معلوم است که ما می تواند در واقع باز کردن این فایل CSV با تر برنامه آشنا مانند اکسل و یا شماره.