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 이에 따라 문자열되는 선언은, 점 H를 지시합니다. 21 00:01:00,410 --> 00:01:04,680 이제 다시 structs1.c에, 그 통지 I 루프 여기 그 것있다 22 00:01:04,680 --> 00:01:06,750 최대 3 0에서 반복. 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 개방 F printf를, 그리고 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 >> FILE은 모두 대문자, 이는 다소입니다 C의 호기심, 파일은 fopen됩니다 39 00:01:58,240 --> 00:02:03,020 인용을 끝 맺다하고 이제 이름 students.CSV, 말, 파일,하지만 난 할 수 40 00:02:03,020 --> 00:02:08,150 대부분의 아무것도, 쉼표를 호출 지금은 해요 내부 w 하나를 지정하는 것 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 >> 하자 옆에 체크하면 파일 null이 동일하지 않습니다. 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 그러나이 null의 경우, 다음의 내부 내가 반복하는거야 중괄호 49 00:02:33,400 --> 00:02:38,030 나는 학생까지 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의 %의처럼 보이는 문자열 백 슬래시 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, 학생 브래킷 i.house 가까이의 괄호 57 00:03:10,030 --> 00:03:11,230 세미콜론. 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 >> 확인 구조체 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 명령 프롬프트에서 다음을 입력 진행 희망의 G 편집 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 PC, 그것은 밝혀 우리가 실제로 할 수 더 많은이 CSV 파일을 엽니 다 76 00:04:18,080 --> 00:04:20,400 Excel 또는 번호와 같은 친숙한 프로그램입니다. 77 00:04:20,400 --> 00:04:22,906