>> ЗВУЧНИК 1: Да се ​​напише програма која поттикнува на корисникот за имињата и
куќи на тројца студенти.
Но, наместо само печати од нивните имиња и куќи на екранот, да се
наместо спаси информации на дискот.
Со други зборови, да се создаде, да речеме, CSV датотека, на одвоени со запирки вредности,
која е всушност само еден текст фајл кој програми како Excel или броеви
може да се отвори, и ефикасно спаси оние имиња и куќи постојано, така што
можеме да ги видиш подоцна.
>> Да го стори тоа, ајде прво да ги разгледаме во некои boilerplate кодот што сум
започна со веќе.
Забележите првиот што меѓу заглавија до врвот сега е стандард lib.h кои
се случува да имаат некои функции поврзани да поднесе I / O, датотеката влез и излез.
Забележете дека јас сум исто така, прогласи постојана наречен студенти -
во сите капи - чија вредност е хард кодирани како три.
Забележите дека сега внатрешноста на мојата главна програма, јас сум прогласување низа на
големина три користење дека постојано се нарекува СТУДЕНТИ секој од чии членови се од
тип студенти.
>> Да се ​​потсетиме дека еден студент ќе се дефинира како што имаат име и куќа и двете од
кои се стрингови, како на овој декларација поучува, точка ж.
Сега, назад во structs1.c, забележите дека јас имаат за јамка тука дека се случува да се
iterate од нула до три.
Тоа се случува да ме прашува за ученикот име и куќата на студентот
повторно и повторно и повторно.
>> А потоа на дното на оваа програма, забележите дека јас имам друг за телефонска линија
што се случува да се ослободи о студентот име и куќата на ith студентот во
Слично конструирана јамка.
За да бидете сигурни, ние би можеле да се комбинираат тие петелки во само еден, но јас сакав да
имаат некои различни сегменти на кодот за доброто на дискусија овде.
>> Сега во меѓу оние за петелки, ајде да всушност имаат друг, и ова ми е
цел во животот е да се всушност ги зачувате сите од овие имиња и куќи кои се
во моментов во RAM меморија на дискот во форма на одвоени со запирки вредности.
Да го стори тоа, ние ќе треба да се користи три нови функции -
F отворен, F printf, и F во близина, што отворите датотека, печати во датотека, и
затвори датотека.
Ние може да ги користат како што следува.
>> Датотека, во сите капи, што е нешто на куриозитет во C, датотека добива fopen
Цитат unquote и сега име за датотека, да речеме, students.CSV, но можев
го нарекуваат повеќето ништо, запирка и сега сум ќе наведете еден w внатре
на двојни наводници.
W, како што може да претпоставам веќе, значи дека fopen треба да ја отворите оваа датотека
наречен Students.CSV за пишување па дека ние всушност може да заштедите
Содржината на него.
>> Ајде следната проверка дали датотеката не е еднаква на нула.
Бидејќи ако тоа е нешто, најверојатно има тргна наопаку во кој случај ние
не треба да продолжи да се обиде да се печати ништо на него.
Но, ако тоа не е нула, тогаш внатрешноста на тркалезните загради Одам да iterate
од i изнесува 0 на до УЧЕНИЦИТЕ, и јас ќе одам да
прираст јас на секоја итерација.
И во внатрешноста на овој циклус, идам да fprintf па како да се печати во датотека -
посебно оној Јас веќе отворена -
стринг кој изгледа вака% s,% s обратна коса црта n Затвори цитат.
>> И сега сакам да го приклучиш во секоја од оние променливи вистинските вредности
на студентот име и куќа користење на операторот точка.
Студентите заградата i.name, студентите заградата i.house блиску paren
точка-запирка.
Сега под ова за јамка, јас сум едноставно ќе ја повика запишам на датотеката со цел
на крајот да се затвори досието.
>> Сега кога ќе ја извршите оваа програма, јас не треба всушност гледам ништо на
екран, но јас треба да имаат по трчање оваа програма фајл наречен
Students.CSV во истиот директориум дека Јас ја извршите командата во која треба да
содржи одделени со запирки листа на вредности.
Ајде да ги разгледаме.
>> Направи structs 1. / Structs1 студентот име, да речеме Давид,
тој ќе живее во Mather.
Име студентот, да речеме, Лорен, таа ќе живее во Leverett.
Име студентот, да речеме, Роб, тој ќе живее во Киркланд.
Сега, пак, како што се очекуваше, ништо не се појавува да се случи, но дозволете ми
оди напред во command prompt и видот g уреди students.CSV во надеж дека
таа датотека навистина постои.
>> Gedit students.CSV ENTER, и навистина, забележите дека датотеката која ја содржи чисто
текст, но текстот одделени со запирки за секоја област, навистина постои.
И ако бевме користење, а не CS50 апаратот, но се повеќе запознаени Mac или
Компјутер, излегува дека ние навистина би можеле да ја отворите оваа CSV датотека со повеќе
запознаени програма како Excel или броеви.