SPEAKER 1: Mari kita menulis sebuah program yang meminta pengguna untuk nama dan rumah dari tiga mahasiswa. Namun, bukannya hanya mencetak mereka nama dan rumah ke layar, mari kita bukannya menyimpan informasi tersebut untuk disk. Dengan kata lain, mari kita ciptakan, katakanlah, CSV berkas, untuk comma separated values, yang sebenarnya hanyalah sebuah file teks yang program-program seperti Excel atau Nomor dapat membuka, dan efektif menyelamatkan orang- nama dan rumah-rumah permanen sehingga kami dapat meninjau mereka nanti. Untuk melakukannya, mari kita pertama kita lihat beberapa kode boilerplate bahwa saya telah dimulai dengan sudah. Perhatikan pertama bahwa di antara header up top sekarang lib.h standar yang kebetulan memiliki beberapa fungsi yang terkait untuk file I / O, file input dan output. Perhatikan bahwa saya telah juga menyatakan konstan disebut MAHASISWA - dalam semua topi - yang nilainya sulit dikodekan sebagai tiga. Perhatikan sekarang bahwa dalam utama saya Program, saya mendeklarasikan array ukuran tiga dipake konstan disebut MAHASISWA masing-masing anggota yang adalah ketik siswa. Ingat sekarang bahwa mahasiswa kita akan mendefinisikan sebagai memiliki nama dan rumah kedua yang adalah string sebagai per ini deklarasi menginstruksikan, dot h. Sekarang kembali di structs1.c, perhatikan bahwa saya telah untuk loop di sini yang akan iterate dari nol sampai tiga. Ini akan meminta saya untuk siswa nama dan rumah siswa lagi dan lagi dan lagi. Kemudian di bagian bawah program ini, melihat bahwa saya memiliki lain untuk loop itu akan membebaskan engan siswa nama dan rumah engan siswa dalam sama dibangun lingkaran. Yang pasti, kita bisa menggabungkan mereka loop menjadi hanya satu, tapi aku ingin memiliki beberapa segmen yang berbeda dari kode demi diskusi di sini. Sekarang di antara mereka untuk loop, mari kita benar-benar memiliki yang lain, dan yang satu ini tujuan hidup sebenarnya adalah untuk menyimpan semua nama-nama ini dan rumah yang saat ini dalam RAM ke disk dalam bentuk dari comma separated values. Untuk melakukannya, kita akan menggunakan tiga fungsi baru - F terbuka, F printf, dan F dekat, yang membuka file, mencetak ke file, dan menutup file. Kita bisa menggunakannya sebagai berikut. FILE, dalam semua topi, yang adalah sedikit dari rasa ingin tahu di C, FILE akan fopen quote tanda kutip dan sekarang nama untuk mengajukan, katakanlah, students.CSV, tapi aku bisa menyebutnya apa yang paling, koma dan sekarang aku akan menentukan satu w dalam tanda kutip ganda. W, seperti yang mungkin telah Anda duga, berarti bahwa fopen harus membuka file ini disebut Students.CSV untuk menulis sehingga bahwa kita benar-benar dapat menghemat isi untuk itu. Mari kita cek berikutnya jika file tidak sama dengan nol. Karena jika itu adalah, sesuatu yang mungkin memiliki beres dalam hal ini kita tidak boleh melanjutkan untuk mencoba untuk mencetak apa pun untuk itu. Tapi kalau itu tidak null, maka bagian dalam kurung kurawal aku akan iterate dari i sama dengan 0 pada hingga MAHASISWA, dan aku akan kenaikan i pada setiap iterasi. Dan di dalam loop ini, saya akan fprintf sehingga untuk mencetak ke file - khusus satu Saya sudah dibuka - string yang terlihat seperti ini% s,% s backslash n quote dekat. Dan sekarang saya ingin plug in ke masing-masing mereka penampung nilai yang sebenarnya nama siswa dan rumah menggunakan operator dot. Siswa braket i.name, siswa paren braket i.house dekat semi-colon. Sekarang di bawah ini untuk loop, aku hanya akan menelepon fclose file dalam rangka untuk akhirnya menutup file. Sekarang ketika saya menjalankan program ini, saya tidak boleh benar-benar melihat apa-apa pada layar, tapi aku harus setelah menjalankan program ini file bernama Students.CSV dalam direktori yang sama yang Saya menjalankan perintah pada yang seharusnya mengandung dipisahkan koma daftar nilai. Mari kita lihat. Membuat structs 1. / Structs1 siswa nama, katakanlah David, dia akan tinggal di Mather. Nama siswa, katakanlah, Lauren, dia akan tinggal di Leverett. Nama siswa, katakanlah, Rob, dia akan tinggal di Kirkland. Sekarang, sekali lagi, seperti yang diharapkan, tidak ada yang muncul telah terjadi, tapi biarkan aku pergi ke depan pada command prompt dan ketik g mengedit students.CSV dengan harapan bahwa file yang memang ada. Gedit students.CSV ENTER, dan memang, melihat bahwa file yang berisi murni teks, tetapi teks yang dipisahkan oleh koma untuk masing-masing bidang, memang ada. Dan jika kita menggunakan, bukan CS50 alat, tetapi Mac lebih akrab atau PC, ternyata memang kita bisa membuka file CSV ini dengan lebih Program familiar seperti Excel atau Numbers.