2 00:00:00,000 --> 00:00:02,470 >> ลำโพง 1: ลองเขียนโปรแกรมที่ แจ้งให้ผู้ใช้ชื่อและ 3 00:00:02,470 --> 00:00:03,990 บ้านสามนักเรียน 4 00:00:03,990 --> 00:00:07,300 แต่แทนที่จะเพียงแค่พิมพ์ออกมาของพวกเขา ชื่อและที่บ้านไปยังหน้าจอให้ 5 00:00:07,300 --> 00:00:09,660 แทนการบันทึกข้อมูลที่ไปยังดิสก์ 6 00:00:09,660 --> 00:00:14,530 ในคำอื่น ๆ ขอสร้างพูด CSV ไฟล์สำหรับค่าแยกจุลภาค 7 00:00:14,530 --> 00:00:17,720 ซึ่งเป็นจริงเพียงแฟ้มข้อความที่ โปรแกรมเช่น Excel หรือตัวเลข 8 00:00:17,720 --> 00:00:21,690 สามารถเปิดได้อย่างมีประสิทธิภาพและประหยัดที่ ชื่อและที่บ้านอย่างถาวรเพื่อให้ 9 00:00:21,690 --> 00:00:23,220 เราสามารถตรวจสอบได้ในภายหลัง 10 00:00:23,220 --> 00:00:25,960 >> ที่จะทำเพื่อให้เป็นครั้งแรกจะดูที่ บางรหัสต้นแบบที่ฉันได้ 11 00:00:25,960 --> 00:00:27,650 เริ่มต้นด้วยการอยู่แล้ว 12 00:00:27,650 --> 00:00:32,380 ขอให้สังเกตว่าในครั้งแรกที่ส่วนหัว ขึ้นด้านบนคือตอนนี้ lib.h มาตรฐานที่ 13 00:00:32,380 --> 00:00:36,710 เกิดขึ้นที่จะมีฟังก์ชั่นบางอย่างที่เกี่ยวข้อง ไฟล์ I / O ใส่ไฟล์และการส่งออก 14 00:00:36,710 --> 00:00:39,560 ขอให้สังเกตว่าเราได้ประกาศยัง อย่างต่อเนื่องที่เรียกว่านักศึกษา - 15 00:00:39,560 --> 00:00:42,380 ในตัวพิมพ์ใหญ่ทั้งหมด - มีค่า เป็นรหัสที่ยากที่สุดเท่าที่สาม 16 00:00:42,380 --> 00:00:45,820 ตอนนี้ขอให้สังเกตภายในของหลักของฉันว่า โปรแกรมฉันประกาศอาเรย์ของ 17 00:00:45,820 --> 00:00:50,270 ขนาดสามการใช้อย่างต่อเนื่องที่เรียกว่า นักเรียนแต่ละสมาชิกที่มีอยู่ของ 18 00:00:50,270 --> 00:00:51,650 ประเภทนักเรียน 19 00:00:51,650 --> 00:00:56,150 >> จำตอนที่นักเรียนเราจะกำหนด ที่มีชื่อและที่บ้านทั้งสอง 20 00:00:56,150 --> 00:01:00,410 ซึ่งเป็นสายตามนี้ แนะนำให้ประกาศจุดชั่วโมง 21 00:01:00,410 --> 00:01:04,680 ตอนนี้กลับมาใน structs1.c, สังเกตเห็นว่าฉัน ได้ที่นี่สำหรับวงที่จะ 22 00:01:04,680 --> 00:01:06,750 ย้ำจากศูนย์ถึงสาม 23 00:01:06,750 --> 00:01:10,020 ก็จะแจ้งให้ผมสำหรับนักเรียนของ ชื่อและที่บ้านของนักเรียน 24 00:01:10,020 --> 00:01:12,310 อีกครั้งและอีกครั้งและอีกครั้ง 25 00:01:12,310 --> 00:01:15,620 >> จากนั้นที่ด้านล่างของโปรแกรมนี้ สังเกตเห็นว่าฉันมีอีกสำหรับวง 26 00:01:15,620 --> 00:01:19,970 ที่จะเป็นอิสระของนักเรียนที่ i ของ ชื่อและที่บ้านของนักเรียนที่ i ใน 27 00:01:19,970 --> 00:01:21,570 สร้างห่วงกัน 28 00:01:21,570 --> 00:01:24,480 เพื่อให้มั่นใจว่าเราสามารถรวมลูปที่ เป็นเพียง แต่ผมต้องการที่จะ 29 00:01:24,480 --> 00:01:28,180 มีบางส่วนที่แตกต่างของรหัส เพื่อประโยชน์ของการสนทนาที่นี่ 30 00:01:28,180 --> 00:01:31,920 >> ขณะนี้อยู่ในระหว่างเหล่านั้นสำหรับลูปให้ จริงมีอีกและเป็นหนึ่งในนี้ 31 00:01:31,920 --> 00:01:35,210 วัตถุประสงค์ในชีวิตคือการบันทึกจริงทั้งหมด ชื่อเหล่านี้และบ้านที่มี 32 00:01:35,210 --> 00:01:39,810 ในปัจจุบัน RAM ไปยังดิสก์ในรูปแบบ ของค่าที่คั่นด้วยเครื่องหมายจุลภาค 33 00:01:39,810 --> 00:01:42,080 ต้องการทำเช่นนั้นเราจะใช้ สามฟังก์ชั่นใหม่ - 34 00:01:42,080 --> 00:01:47,450 F เปิด printf F และ F ปิดที่ เปิดไฟล์ที่พิมพ์ไปยังไฟล์และ 35 00:01:47,450 --> 00:01:48,440 ปิดแฟ้ม 36 00:01:48,440 --> 00:01:49,690 เราสามารถใช้พวกเขาเป็นดังต่อไปนี้ 37 00:01:49,690 --> 00:01:52,110 38 00:01:52,110 --> 00:01:58,240 >> ไฟล์ในตัวพิมพ์ใหญ่ทั้งหมดซึ่งเป็นส่วนหนึ่งของ อยากรู้อยากเห็นใน C, ไฟล์ที่ได้รับ fopen 39 00:01:58,240 --> 00:02:03,020 ได้นำมาอ้างคำพูดและตอนนี้ชื่อ ยื่นพูด students.CSV แต่ฉันสามารถ 40 00:02:03,020 --> 00:02:08,150 เรียกมันว่าอะไรมากที่สุดจุลภาคและตอนนี้ฉัน จะระบุเดียวกว้างภายใน 41 00:02:08,150 --> 00:02:09,390 ของคำพูดสอง 42 00:02:09,390 --> 00:02:13,290 W เป็นคุณอาจจะเดาได้แล้ว หมายความว่า fopen ควรเปิดไฟล์นี้ 43 00:02:13,290 --> 00:02:17,360 เรียกว่า Students.CSV สำหรับการเขียนเพื่อ ที่จริงเราสามารถบันทึกบาง 44 00:02:17,360 --> 00:02:19,370 เนื้อหามัน 45 00:02:19,370 --> 00:02:23,080 >> ลองตรวจสอบต่อไปว่าไฟล์ ไม่เท่ากับโมฆะ 46 00:02:23,080 --> 00:02:25,860 เพราะถ้ามันเป็นสิ่งที่มีความน่าจะเป็น ไปผิดในกรณีที่เรา 47 00:02:25,860 --> 00:02:28,340 ไม่ควรดำเนินการเพื่อที่จะพยายาม ที่จะพิมพ์อะไรลงไป 48 00:02:28,340 --> 00:02:33,400 แต่ถ้ามันไม่เป็นโมฆะแล้วภายในของ วงเล็บปีกกาฉันจะย้ำ 49 00:02:33,400 --> 00:02:38,030 จาก i เท่ากับ 0 ถึงนักศึกษา และฉันจะไป 50 00:02:38,030 --> 00:02:40,180 ฉันเพิ่มขึ้นในแต่ละประโยค 51 00:02:40,180 --> 00:02:45,750 และภายในของวงนี้ฉันจะไป fprintf เพื่อที่จะพิมพ์ไปยังแฟ้ม - 52 00:02:45,750 --> 00:02:47,940 โดยเฉพาะอย่างใดอย่างหนึ่ง ฉันเปิดแล้ว - 53 00:02:47,940 --> 00:02:54,650 สตริงที่มีลักษณะเช่นนี้% s,% s n เครื่องหมายคำพูดใกล้ 54 00:02:54,650 --> 00:02:58,790 >> และตอนนี้ฉันต้องการที่จะเชื่อมต่อกับแต่ละ ตัวยึดที่ค่าจริง 55 00:02:58,790 --> 00:03:03,390 ชื่อนักเรียนและบ้าน ใช้ประกอบจุด 56 00:03:03,390 --> 00:03:10,030 i.name วงเล็บนักเรียนนักศึกษา paren i.house วงเล็บปิด 57 00:03:10,030 --> 00:03:11,230 semi-colon 58 00:03:11,230 --> 00:03:16,180 ตอนนี้ด้านล่างนี้สำหรับวงฉันเพียง จะเรียก fclose ของไฟล์ที่อยู่ในลำดับที่ 59 00:03:16,180 --> 00:03:18,520 ในที่สุดปิดแฟ้ม 60 00:03:18,520 --> 00:03:21,360 >> ตอนนี้เมื่อฉันเรียกใช้โปรแกรมนี้ผมไม่ควร จริงเห็นอะไรใน 61 00:03:21,360 --> 00:03:25,010 หน้าจอ แต่ฉันควรจะมีหลังจากใช้ โปรแกรมนี้ไฟล์ที่เรียกว่า 62 00:03:25,010 --> 00:03:29,130 Students.CSV ในไดเรกทอรีเดียวกันกับที่ ผมใช้คำสั่งในการที่ควร 63 00:03:29,130 --> 00:03:32,480 มีที่คั่นด้วยจุลภาค รายการของค่า 64 00:03:32,480 --> 00:03:34,790 ลองมาดู 65 00:03:34,790 --> 00:03:41,690 >> ทำให้ structs 1. / นักศึกษา structs1 ของ ชื่อสมมติว่าเดวิด 66 00:03:41,690 --> 00:03:43,140 เขาจะอาศัยอยู่ในท้อง 67 00:03:43,140 --> 00:03:46,890 ชื่อนักเรียน, สมมุติว่าลอเรน เธอจะอาศัยอยู่ใน Leverett 68 00:03:46,890 --> 00:03:50,800 ชื่อนักเรียนสมมติว่าขโมย เขาจะอาศัยอยู่ในเคิร์กแลนด์ 69 00:03:50,800 --> 00:03:54,050 ตอนนี้อีกครั้งเป็นไปตามคาดไม่มีอะไรปรากฏ จะเกิดขึ้น แต่ให้ฉัน 70 00:03:54,050 --> 00:03:58,790 ไปข้างหน้าที่พร้อมรับคำสั่งและประเภท กรัมแก้ไข students.CSV ด้วยความหวังว่า 71 00:03:58,790 --> 00:04:00,850 ไฟล์ที่แน่นอนอยู่แล้ว 72 00:04:00,850 --> 00:04:07,010 >> gedit students.CSV ENTER และแน่นอน แจ้งให้ทราบว่าไฟล์ที่มีอย่างหมดจด 73 00:04:07,010 --> 00:04:11,320 ข้อความ แต่ข้อความที่คั่นด้วยเครื่องหมายจุลภาค ของแต่ละเขตข้อมูลที่มีอยู่แน่นอน 74 00:04:11,320 --> 00:04:14,530 และถ้าเราใช้ไม่ CS50 เครื่อง แต่คุ้นเคยมากกว่า Mac หรือ 75 00:04:14,530 --> 00:04:18,080 เครื่องคอมพิวเตอร์ก็จะเปิดออกว่าเราจะทำได้แน่นอน เปิดไฟล์ CSV นี้อีกด้วย 76 00:04:18,080 --> 00:04:20,400 โปรแกรมที่คุ้นเคยเช่น Excel หรือตัวเลข 77 00:04:20,400 --> 00:04:22,906