>> スピーカ1：のは、そのプログラムを書いてみましょう 名前の入力を促し、
3人の学生の家。
しかし、単に彼らをプリントアウトするのではなく 画面に名前や家、みましょう
代わりに、ディスクにその情報を保存します。
つまり、CSV、言うのは作成してみましょう カンマ区切りのファイル、
実際にはテキストフ​​ァイルであること Excelや数字のようなプログラム
開いて、効果的にそれらを保存することができます 名前や家恒久的になるように
私たちは、後で確認することができます。
>> そのためには、まずは見てみましょう 私がしたいくつかの定型的なコード
既に作業を始めています。
最初にそのヘッダの中に注意してください トップまで、今の標準lib.hある
関連するいくつかの機能を有するたまたま I / O、ファイル入出力をファイルに追加します。
私も宣言していることに注意してください 学生と呼ばれる定数 -
すべて大文字で - 値 ハード3として符号化される。
今、私のメインの内側に注意してください プログラムは、私はの配列を宣言してい
サイズ3と呼ばれるその定数を使用して 学生が各部材のです
学生を入力します。
>> 学生は、我々が定義するだろうことを今思い出して 名前と家の両方を有することで
このあたりのような文字列である 宣言は、ドットhを指示します。
すぐに戻って私structs1.c、予告中 になるだろう、ここでループのために持っている
3までゼロから反復します。
それは、学生のために私を促すために起こっている 名前と学生の家
何度も何度も何度も。
>> そして、このプログラムの下にある、 私はループのために別のを持っていることに気付く
つまり、i番目のスチューデントを解放するために起こっている 名前とi番目の生徒の家
同様にループを構築した。
確かに、我々はこれらのループを組み合わせることができ ただ1が、私が欲しかったのに
コー​​ドの一部別個のセグメントを持っている ここでの議論のために。
>> 今のループの場合との間で、みましょう 実際には別のを持っており、この1の
人生の目的は、実際には、すべてを保存することです あるこれらの名前や家の
現在フォームでディスクにRAMに カンマ区切りの。
そのためには、我々は使用するつもりだ 3新機能 -
女オープン、Fのprintf、およびFに近い、その ファイルを開くファイルに出力し、
ファイルを閉じます。
次のように我々はそれらを使用することができます。
>> 多少のあるすべて大文字のFILE、、 C言語、ファイル内の好奇心は、関数fopenを取得
引用終わり引用し、現在の名前 ファイル、たとえば、students.CSVが、私は可能性が
私は今でも、コンマ、最もそれを呼び出す 内部ワットシングルを指定しようとして
二重引用符の。
W、あなたが既に想像のとおり、 fopenのがこのファイルを開く必要があることを意味します
その書き込みのためStudents.CSV呼ば 私たちは実際にいくつかを保存することができていること
それまでの内容。
>> レッツ次のチェックすると、ファイル NULLと同じではありません。
それであれば、何かがおそらく持っているので その場合、私たちに間違っ
試しに進んではいけません それには何も印刷します。
しかし、それがnullではない場合、その後の内部 私は繰り返し処理をするつもりだ、中括弧
私の学生までに0に等しい、 と私はするつもりだ
私は、各反復でインクリメント。
そしてこのループの内側に、私はするつもりです fprintfのファイルに出力するよう -
特に1 私はすでに開かれた -
この％sに、％sのような文字列 バックスラッシュN閉じる引用。
>> そして今、私はそれぞれにプラグインしたい これらのプレースホルダ実際の値
学生の名前と家の ドット演算子を使用した。
学生ブラケットi.name、学生 閉じる括弧i.houseブラケット
セミコロン。
今、この下のループのために、私は単純によ ために、ファイルのfcloseはを呼ぶつもり
最終的には、ファイルを閉じます。
>> 私はこのプログラムを実行すると、私はすべきでない 実際に何も表示
画面が、私は持っている必要があります実行した後 このプログラムと呼ばれるファイル
その同じディレクトリにStudents.CSV 私はその中のコマンドを実行しなければならない
カンマ区切りが含まれている 値のリスト。
それでは見てみましょう。
>> 構造体1を加えます。/ structs1スチューデント 、のデビッドを言わせて、名前
彼はマザーに住んでます。
学生の名前、のは言わせて、ローレン、 彼女はレベレットに住んでます。
学生の名前、のは言わせて、ロブ、 彼はカークランドに住んでます。
今、再び、予想通り、何も表示されません 何が起こったが、私をさせたと
コマンドプロンプトと種類で先に行く ことを期待してG編集students.CSV
そのファイルが実際に存在しています。
>> Geditのstudents.CSVは、実際に入力し、 ファイルは純粋に含むことに気付く
コンマで区切られたテキストが、テキスト 各フィールドに、確かに存在します。
そして、我々はCS50ではなく、使用していた場合 アプライアンスが、より馴染みのMacまたは
パソコン、それは確かに私たちができることが判明 より、このCSVファイルを開く
Excelや数字などの使い慣れたプログラム。