プログラミング 2 ファイル処理.

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 高さ) を求めるプログラムを作成しなさい。ただし、出力結果は、入 力した底面の円の半径.
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第5回 関数(1) 情報・知能工学系 山本一公
システムプログラミング 第7回、8回 ファイルシステム関連の システムコール
京都大学情報学研究科 通信情報システム専攻 湯淺研究室 M2 平石 拓
情報処理演習C2 ファイル操作について (2).
情報基礎演習B 後半第5回 担当 岩村 TA 谷本君.
数理情報工学演習第一C プログラミング演習 (第3回 ) 2014/04/21
プログラミング入門2 第7回 文字列 数学関数 ファイルの入出力 芝浦工業大学情報工学科 青木 義満
構造体(struct) 配列では、複数のデータをひとまとまりにして操作する ことが出来る。しかし、それぞれのデータは同じ型(例えば
リダイレクト パイプ 標準入出力プログラム コマンド行引数 関数 system()
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
第2回ネットワークプログラミング 中村 修.
第13回 プログラミングⅡ 第13回
記憶クラス 変数をどのような記憶領域に割り当てるかを指定するのが記憶クラス 記憶クラスには、自動変数、静的変数、外部変数などがある。
情報処理Ⅱ 第13回 2006年1月20日(金).
アルゴリズムとデータ構造 補足資料6-3 「サンプルプログラムcat3.c」
精密工学科プログラミング基礎 第9回資料 (12/11 実施)
ファイル操作と文字列の利用.
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング 第11回 プロセス間通信4 仮想FTPの実現 担当:青木義満
前回の復習 ファイル入出力①.
情報処理Ⅱ 第13回 2004年01月25日(火).
10: ファイル入出力 C プログラミング入門 基幹2 (月4) Linux にログインし、以下の講義ページ を開いておくこと
第2回 Microsoft Visual Studio C++ を使ってみよう
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
Cプログラミング演習 中間まとめ2.
Cプログラミング演習 第6回 ファイル処理と配列.
プログラミング論 ファイル入出力
プログラミング入門2 ファイルの入出力 ポインタ 芝浦工業大学情報工学科 青木 義満
Cプログラミング演習.
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第2回 ファイル処理 情報・知能工学系 山本一公
リダイレクト パイプ 標準入出力プログラム コマンド行引数 関数 system()
プログラミング演習I 2003年6月25日(第10回) 木村巌.
知能情報工学演習I 第9回( C言語第3回) 課題の回答
プログラミング論 ファイル処理 (中級編)
地域情報学 C言語プログラミング 第5回 ポインタ、関数、ファイル入出力 2017年11月17日
プログラミング論 ファイル入出力
アルゴリズムとデータ構造 補足資料6-2 「サンプルプログラムcat2.c」
Cの実行モデル.
プログラミング入門 第12回 情報工学科 篠埜 功.
プログラミング入門 第12回 情報工学科 篠埜 功.
四則演算,変数 入力文,出力文,代入文, ライブラリ関数
プログラミング基礎a 第7回 C言語によるプログラミング入門 ファイル入出力
Talkプログラムのヒント 1 CS-B3 ネットワークプログラミング  &情報科学科実験I.
プログラミング基礎B 文字列の扱い.
システムプログラミング 第7回、8回 ファイルシステム関連の システムコール
精密工学科プログラミング基礎Ⅱ 第4回資料 今回の授業で習得してほしいこと: 文字列の扱い ファイル入出力の方法 コマンドライン引数の使い方
第14章 ファイル操作 14.1 ファイルへの書き込み 14.2 ファイルからの読み込み 14.3 ファイルへの追加書き込み
第4回 ファイル入出力方法.
岩村雅一 知能情報工学演習I 第12回(C言語第6回) 岩村雅一
システムプログラミング 第7回、8回 ファイルシステム関連の システムコール
OSが管理している、デフォルトの入出力装置 入力:stdin キーボード 出力:stdout モニタ(コマンドプロンプトの画面)
Cプログラミング演習資料.
第14章 ファイル操作 14.1 ファイルへの書き込み 14.2 ファイルからの読み込み 14.3 ファイルへの追加書き込み
C言語 はじめに 2016年 吉田研究室.
プログラミング演習I 2003年7月2日(第11回) 木村巌.
ファイルの読み込み, ファイルからのデータの取り出し, ファイルの書き出し
情報処理Ⅱ 2008年1月28日(月).
高度プログラミング演習 (11).
プログラミング入門 第12回 情報工学科 篠埜 功.
情報処理Ⅱ 2007年1月26日(金).
ファイル操作について (1).
モジュール分割.
プログラミング基礎a 第7回 C言語によるプログラミング入門 ファイル入出力
アルゴリズムとデータ構造 補足資料6-1 「サンプルプログラムcat1.c」
岩村雅一 知能情報工学演習I 第12回(後半第6回) 岩村雅一
Cp-1. Microsoft Visual Studio 2019 C++ の使い方 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
コンピュータープログラミング (C言語)(10) 1.ファイル入出力
第14章 ファイル操作 14.1 ファイルへの書き込み 14.2 ファイルからの読み込み 14.3 ファイルへの追加書き込み
Presentation transcript:

プログラミング 2 ファイル処理

ファイル入出力の 基本的な手順 ファイルを開く ファイルから読み込む/ファイルに書き込む ファイルを閉じる fopen() 関数 読み込み:fscanf() 関数など 書き込み:fprintf() 関数など ファイルを閉じる fclose() 関数

ファイルを開く(1) FILE * 型の変数を用意する これはポインタ(ポインタについてはプログラミング 3 で扱 う) たとえば FILE *fp; FILE *fin, *fout; のように定義

ファイルを開く(2) fopen() 関数でファイルを開く fp = fopen(ファイル名, 開き方); ファイル名は文字列で与える 「開き方」には次のようなものがある “r”:読み込み “w”:書き込み “a”:追記 ファイルが開けたら,以降 fp を介してファイルとや り取りする

ファイルを開く(3) ファイルを開けない場合 fopen() は記号定数 NULL を返す 読み込むファイルが見つからなかったとき 書き込むファイルが作れなかったとき fopen() の戻り値はチェックする fp = fopen(“data.txt”, “r”); if (fp == NULL) { /* ファイルが開けなかったときの処理 */ } 短いプログラムでは,ファイルを開く処理が失敗した場合, プログラムを終了させてしまうことが多い

ファイルの読み書き(1) fscanf() 関数(読み込み) fscanf(fp, …); scanf() のファイル指定版;第 1 引数に fopen() 関数で得た FILE * の値を指定する fscanf(fp, “%d”, &a); fprintf() 関数(書き込み) fprintf(fp, …); printf() のファイル指定版;第 1 引数に fopen() 関数で得た FILE * の値を指定する fprintf(fp, “%d\n”, a);

ファイルの読み書き(2) その他のファイル読み書き関数 fgetc():1 文字読み込み(cf. getchar()) fgets():文字列 1 行読み込み(cf. gets()) fputc():1 文字書き込み(cf. putchar()) fputs():文字列 1 行書き込み(cf. puts())

ファイルを閉じる fclose() 関数 fclose(fp); ファイルに対応する FILE * を引数に与える 正常終了時に 0,異常終了時に EOF を返すが,検査しない ことが多い

ファイル入出力の手順まとめ FILE *fp; fp = fopen(…); If (fp == NULL) { /* 開けなかったときの処理 */ } /* ファイルの読み書き処理 */ fclose(fp);

ストリーム(1) プログラムから見た,入出力先へのデータの流れ:ス トリーム ストリーム ファイル プログラム 画面 キーボード ファイル ストリームを表すのが FILE * ストリームをつなげるのが fopen() プログラムから見ると,ストリームの先はすべてファイルの ように見える(キーボード・画面・プリンタも!) ストリーム ファイル プログラム 画面 キーボード ファイル

ストリーム(2) 標準入力・標準出力という「プログラムが開始された ときからつながっているストリーム」がある 標準入出力用の入出力関数 標準入力:通常はキーボードにつながっている 標準出力:通常は画面につながっている 標準入出力用の入出力関数 scanf() は,入力元を標準入力にした特別な fscanf() printf() は,出力先を標準出力にした特別な fprintf() fscanf()・fprintf() では,標準入力を stdin,標準出力を stdout で指定することができる 標準入出力は,実行時などに指定してキーボード・画 面以外(ファイルなど)に接続することができる リダイレクトという