第4回 ファイル入出力方法.

Slides:



Advertisements
Similar presentations
プログラミング演習 II 2005 年 1 月 19 日(第 9 回) 理学部数学科・木村巌. 前回までの復習 共用体( union type ) 共用体( union type ) 列挙 (enumerated type ) 列挙 (enumerated type ) 構造体、構造体のポインタ、
Advertisements

10: ファイル入出力 Linux にログインし、以下の講義ページ を開いておくこと teachers/w483692/CPR1/ C プログラミング入門 総機 1 ( 月 1) 1.
オブジェクト指向言語・ オブジェクト指向言語演習 中間試験回答例. Jan. 12, 2005 情報処理技術基礎演習 II 2 オブジェクト指向言語 中間試験解説 1  (1) 円柱の体積(円柱の体積 = 底面の円の面積 x 高さ) を求めるプログラムを作成しなさい。ただし、出力結果は、入 力した底面の円の半径.
システムプログラミング 第7回、8回 ファイルシステム関連の システムコール
情報処理演習C2 ファイル操作について (2).
プログラミング基礎I(再) 山元進.
IO - 入出力 小西 亨.
コンピュータリテラシー 第3回授業の復習 基本的なUNIXコマンド
情報基礎演習B 後半第5回 担当 岩村 TA 谷本君.
数理情報工学演習第一C プログラミング演習 (第3回 ) 2014/04/21
構造体(struct) 配列では、複数のデータをひとまとまりにして操作する ことが出来る。しかし、それぞれのデータは同じ型(例えば
画像ファイル(ppm)の読み書き 画像データ用のメモリ確保・解放
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
第13回 プログラミングⅡ 第13回
記憶クラス 変数をどのような記憶領域に割り当てるかを指定するのが記憶クラス 記憶クラスには、自動変数、静的変数、外部変数などがある。
数値計算及び実習 第7回 プログラミングの基礎(5).
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング システムプログラミング プロセス間通信(パイプ) 担当:青木義満
情報処理Ⅱ 第13回 2006年1月20日(金).
精密工学科プログラミング基礎 第9回資料 (12/11 実施)
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング 第11回 プロセス間通信4 仮想FTPの実現 担当:青木義満
画像ファイル(ppm)の読み書き 画像データ用のメモリ確保・解放
前回の復習 ファイル入出力①.
情報処理Ⅱ 第13回 2004年01月25日(火).
10: ファイル入出力 C プログラミング入門 基幹2 (月4) Linux にログインし、以下の講義ページ を開いておくこと
第2回 Microsoft Visual Studio C++ を使ってみよう
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
11.6 ランダムアクセスファイル 11.7 StreamTokenizerクラス
Cプログラミング演習 第6回 ファイル処理と配列.
プログラミング 2 ファイル処理.
プログラミング論 ファイル入出力
プログラミング入門2 ファイルの入出力 ポインタ 芝浦工業大学情報工学科 青木 義満
Cプログラミング演習.
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第2回 ファイル処理 情報・知能工学系 山本一公
iioLoadFile()とiioMallocImageBuffer()の補足
iioLoadFile()とiioMallocImageBuffer()の補足
iioLoadFile()とiioMallocImageBuffer()の補足
コンピュータ系実験Ⅲ 「ワンチップマイコンの応用」 第1週目 アセンブリ言語講座
プログラミング演習I 2003年6月25日(第10回) 木村巌.
プログラミング論 ファイル処理 (中級編)
実習問題の解き方 JIS3-3の場合.
地域情報学 C言語プログラミング 第5回 ポインタ、関数、ファイル入出力 2017年11月17日
プログラミング論 ファイル入出力
アルゴリズムとデータ構造 補足資料6-2 「サンプルプログラムcat2.c」
Cの実行モデル.
プログラミング入門 第12回 情報工学科 篠埜 功.
プログラミング入門 第12回 情報工学科 篠埜 功.
四則演算,変数 入力文,出力文,代入文, ライブラリ関数
プログラミング基礎a 第7回 C言語によるプログラミング入門 ファイル入出力
システムプログラミング 第7回、8回 ファイルシステム関連の システムコール
精密工学科プログラミング基礎Ⅱ 第4回資料 今回の授業で習得してほしいこと: 文字列の扱い ファイル入出力の方法 コマンドライン引数の使い方
第14章 ファイル操作 14.1 ファイルへの書き込み 14.2 ファイルからの読み込み 14.3 ファイルへの追加書き込み
プログラミング入門2 第13回、14回 総合演習 情報工学科 篠埜 功.
システムプログラミング 第7回、8回 ファイルシステム関連の システムコール
OSが管理している、デフォルトの入出力装置 入力:stdin キーボード 出力:stdout モニタ(コマンドプロンプトの画面)
第14章 ファイル操作 14.1 ファイルへの書き込み 14.2 ファイルからの読み込み 14.3 ファイルへの追加書き込み
C言語 はじめに 2016年 吉田研究室.
プログラミング演習I 2003年7月2日(第11回) 木村巌.
プログラミング入門2 第13回、14回 総合演習 情報工学科 篠埜 功.
ファイルの読み込み, ファイルからのデータの取り出し, ファイルの書き出し
2008/7/16(情報コース)2008/7/22(通信コース) 住井
プログラミング入門 第12回 情報工学科 篠埜 功.
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング 第11回 プロセス間通信4 仮想FTPの実現 担当:青木義満
情報処理Ⅱ 2007年1月26日(金).
ファイル操作について (1).
モジュール分割.
プログラミング基礎a 第7回 C言語によるプログラミング入門 ファイル入出力
Cp-1. Microsoft Visual Studio 2019 C++ の使い方 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
情報処理Ⅱ 2005年11月25日(金).
コンピュータープログラミング (C言語)(10) 1.ファイル入出力
第14章 ファイル操作 14.1 ファイルへの書き込み 14.2 ファイルからの読み込み 14.3 ファイルへの追加書き込み
Presentation transcript:

第4回 ファイル入出力方法

データ処理にはファイル処理が必要 この部分

ファイル入出力方法 ファイル入出力を行うためには、ファイルオープンをしなければならない。 また、使用し終わったファイルはクローズしなけれなならない。 ファイルをオープンすると、OSからファイルを使用するための情報が返ってくる。この情報のことをファイルポインタと呼ぶ。 ファイルポインタには、バッファの位置、バッファ内の現在位置、ファイルの読み書きのいずれか、ファイルの種類といった、ファイルに関する情報を含む構造体へのポインタである。

fopen()関数 fopen()関数は、ファイルとオープンし、ファイルポインタを返す関数である。 書式は以下のとおり。 kojima.datというファイルがテキストファイルで、読み取り専用でオープンしたい場合 FILE *fp; fp = fopen(”name”, mode); FILE *fp; fp = fopen(”kojima.dat”, ”rt”);

ファイルオープンモード 使用するモード モード 補足説明 読み込み専用 r ファイルが存在しなければならない 書き込み専用 w ファイルが存在するとそのファイルは消去されて新しく作成される 読み書き両用 r+ ランダムファイルとして任意のレコードに対して読み書きができる w+ ただし、任意のレコードを指定するには、fseek()関数を使用しな ければならない 書き込み(追加) a ファイルが存在すれば後ろに追加。なければ新規に作成される a+ その他 t テキスト(アスキー)ファイルの指定 b バイナリファイルの指定 ただし、バイナリファイルは、OSによってデータサイズが異なる ことがあるので、移植を考えた場合には推奨できない

ファイルが存在しない時のエラー処理 ファイルを読み取り専用でオープンする場合、ファイルが存在しないといけない。 存在しない場合のエラー処理の方法(雛型)は以下のとおり(この場合、finがファイルポインタ)

fclose()関数 ファイルは、プログラムが終了する前に必ずfclose()関数を使用して、クローズされなければならない。 書式は下記のとおり なお、ファイルポインタ名は、ファイルをオープンしたときに返ってきたファイルポインタを示すものを使用する。 fclose(ファイルポインタ名);

fprintf()関数:ファイルへの出力 オープンしたファイルへ出力する関数 書式は以下のとおり 例:ファイルポインタ名が、fpであり、int型のデータ(変数名をa, bとする)を2つ、ファイルに出力する場合 fprintf( ファイルポインタ名, 書式指定文字列, 引数1, 引数2     ); fprintf( fp, ”%d %d \n”, a, b);

fscanf()関数:ファイルから入力 ファイルからの入力は、fscanf()関数を使用する。 書式は、scanf()関数とほとんど同じ 例:ファイルポインタ名が、fpであり、int型のデータ(変数名をa, bとする)を2つ、ファイルから入力する場合 fscanf( ファイルポインタ名, 書式指定文字列, &引数1, &引数2   ); fscanf( fp, ”%d %d”, &a, &b);

例題:copyコマンド類似プログラム

演習課題6:100個のデータの平均、分散 以下の仕様(1)(2)(3)を満足するプログラムを作成せよ (1)課題4で作成した乱数発生プログラムを参考に、0から100の間の数をランダムに100個作成し、ファイルにセーブする。 (2)セーブしたデータを読み込み、平均、分散を計算し、その結果を画面に表示するとともに、ファイル出力する。 (3)ファイルへの出力フォーマットは、下記のとおり。 平均 = 平均の計算結果 分散 = 分散の計算結果 ファイル名は、Kadai6_uyyyy(学修番号相当) 補足説明は次のページを参照

(平均および)分散 n個のデータの平均(m)、分散(v)は、下記の式で計算することができる。 ここで、I番目のデータがdi