アルゴリズムとデータ構造 補足資料6-2 「サンプルプログラムcat2.c」

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.
システムプログラミング 情報工学科 篠埜 功 情報工学科 3 年生対象 専門科目 第5回 シェルスクリプトの続 き レポート課題 main 関数の引数 usage メッセージ.
システムプログラミング 第7回、8回 ファイルシステム関連の システムコール
情報処理演習C2 ファイル操作について (2).
情報基礎演習B 後半第5回 担当 岩村 TA 谷本君.
数理情報工学演習第一C プログラミング演習 (第3回 ) 2014/04/21
プログラミング入門2 第7回 文字列 数学関数 ファイルの入出力 芝浦工業大学情報工学科 青木 義満
構造体(struct) 配列では、複数のデータをひとまとまりにして操作する ことが出来る。しかし、それぞれのデータは同じ型(例えば
リダイレクト パイプ 標準入出力プログラム コマンド行引数 関数 system()
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
アルゴリズムとデータ構造 補足資料13-4 「2分探索木の追加・削除(ダイジェスト)」
第13回 プログラミングⅡ 第13回
記憶クラス 変数をどのような記憶領域に割り当てるかを指定するのが記憶クラス 記憶クラスには、自動変数、静的変数、外部変数などがある。
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング システムプログラミング プロセス間通信(パイプ) 担当:青木義満
アルゴリズムとデータ構造 補足資料7-3 「単純選択ソートselsort.c」
情報処理Ⅱ 第13回 2006年1月20日(金).
アルゴリズムとデータ構造 補足資料4-2 「線形探索」
アルゴリズムとデータ構造 補足資料6-3 「サンプルプログラムcat3.c」
アルゴリズムとデータ構造 補足資料10-2 「nクイーン」
精密工学科プログラミング基礎 第9回資料 (12/11 実施)
前回の復習 ファイル入出力①.
情報処理Ⅱ 第13回 2004年01月25日(火).
10: ファイル入出力 C プログラミング入門 基幹2 (月4) Linux にログインし、以下の講義ページ を開いておくこと
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
Cプログラミング演習 第6回 ファイル処理と配列.
プログラミング 2 ファイル処理.
プログラミング論 ファイル入出力
システムプログラミング 第6回、7回、8回 情報工学科 篠埜 功.
Cプログラミング演習.
フーリエ級数展開 ~矩形波について~ 長江 栞 中島 涼 中村 勇樹
リダイレクト パイプ 標準入出力プログラム コマンド行引数 関数 system()
プログラミング演習I 2003年6月25日(第10回) 木村巌.
プログラミング序論 2. n人のインディアン.
アルゴリズムとデータ構造 補足資料11-1 「mallocとfree」
アルゴリズムとデータ構造 補足資料5-2 「サンプルプログラムsetop.c」
アルゴリズムとデータ構造 補足資料10-1 「騎士巡回」
プログラミング論 ファイル処理 (中級編)
アルゴリズムとデータ構造 補足資料4-1 「メモリと配列」
アルゴリズムとデータ構造 補足資料5-1 「メモリとポインタ」
地域情報学 C言語プログラミング 第5回 ポインタ、関数、ファイル入出力 2017年11月17日
プログラミング論 ファイル入出力
Cの実行モデル.
四則演算,変数 入力文,出力文,代入文, ライブラリ関数
プログラミング基礎a 第7回 C言語によるプログラミング入門 ファイル入出力
システムプログラミング 第7回、8回 ファイルシステム関連の システムコール
精密工学科プログラミング基礎Ⅱ 第4回資料 今回の授業で習得してほしいこと: 文字列の扱い ファイル入出力の方法 コマンドライン引数の使い方
第14章 ファイル操作 14.1 ファイルへの書き込み 14.2 ファイルからの読み込み 14.3 ファイルへの追加書き込み
第4回 ファイル入出力方法.
C言語演習 情報ネットワーク特論.
システムプログラミング 第7回、8回 ファイルシステム関連の システムコール
第14章 ファイル操作 14.1 ファイルへの書き込み 14.2 ファイルからの読み込み 14.3 ファイルへの追加書き込み
プログラミング序論演習.
プログラミング演習I 2003年7月2日(第11回) 木村巌.
システムプログラミング 第6回 システムコールのエラーメッセージ ファイルシステム 情報工学科 篠埜 功.
ファイルの読み込み, ファイルからのデータの取り出し, ファイルの書き出し
アルゴリズムとデータ構造 補足資料11-3 「線形リストのオペレータ」
情報処理Ⅱ 2007年1月26日(金).
ファイル操作について (1).
プログラミング基礎a 第7回 C言語によるプログラミング入門 ファイル入出力
アルゴリズムとデータ構造 補足資料7-1 「メモリでの『構造体の配列』」
アルゴリズムとデータ構造 補足資料6-1 「サンプルプログラムcat1.c」
アルゴリズムとデータ構造 補足資料5-3 「サンプルプログラムstrcat.c」
Cp-1. Microsoft Visual Studio 2019 C++ の使い方 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
C言語プログラミング・課題 ファイルを読み込んで、その内容を表示するプログラムを作成せよ。
コンピュータープログラミング (C言語)(10) 1.ファイル入出力
第14章 ファイル操作 14.1 ファイルへの書き込み 14.2 ファイルからの読み込み 14.3 ファイルへの追加書き込み
第1章 文字の表示と計算 printfと演算子をやります 第1章 文字の表示と計算.
第1章 文字の表示と計算 printfと演算子をやります.
= 55 課題6-1 #define _CRT_SECURE_NO_WARNINGS
Presentation transcript:

アルゴリズムとデータ構造 補足資料6-2 「サンプルプログラムcat2.c」 横浜国立大学 理工学部 数物・電子情報系学科 富井尚志

/. アルゴリズムとデータ構造 サンプルプログラム cat2 /**************************************************************** アルゴリズムとデータ構造 サンプルプログラム cat2.c <<ファイルの例: 入力ファイルを出力ファイルにコピー>> copyright (c) 1995,96,97 T.Mori <mori@forest.dnj.ynu.ac.jp> ****************************************************************/ #include <stdio.h> main() { int c; FILE *infp,*outfp; infp = fopen("test1.txt","r"); /* test1.txt を読み出し用に開く.入力ファイル */ outfp = fopen("testout.txt","w"); /* testout.txt を書き込み用に開く.出力ファイル */ while ((c = getc(infp)) != EOF) /* EOFが現れるまで入力ファイルから文字を読み */ putc(c, outfp); /* 出力ファイルに書き込む */ fclose(infp); /* 各ファイルを閉じる */ fclose(outfp); exit(0); }

ファイル構造体FILE とファイルポインタ OS (ファイルシステム)を通して、特定のファイルにアクセスする。 「ファイルハンドラ」として、ファイルポインタを割り当てる。 プログラムからは、ファイルの「現在位置」に対して読み出し(入力)や書き込み(出力)ができる。

テキストファイル test1.txt ファイルの内容は「文字列」:テキストストリーム ‘ ’(スペース)や‘\n’(改行)も1文字 h i s a t e f l . \n f i l e c o n t a s w . \n EOF ファイルの内容は「文字列」:テキストストリーム ‘ ’(スペース)や‘\n’(改行)も1文字 EOFはファイルの終わりを示す (厳密には、EOFは文字ではない)

一般的なファイルアクセス fopen関数を用いて、ファイルポインタinfpにtest1.txtを割り当てる。 アクセスの方法は、「読み出し」(入力) T h i s a t e f l . \n f i l e c o n t a s w . \n EOF cat2 は、infpの先頭から1文字ずつ入力を受け取る。 プログラム cat2 infp outfp cat2は 1文字ずつ outfp に出力する。 fopen関数を用いて、ファイルポインタoutfpにtestout.txtを割り当てる。 アクセスの方法は、「書き込み」(出力)

一般的なファイルアクセス T fopen関数を用いて、ファイルポインタinfpにtest1.txtを割り当てる。 アクセスの方法は、「読み出し」(入力) T h i s a t e f l . \n f i l e c o n t a s w . \n EOF T c = getc( infp ) ? c infp

一般的なファイルアクセス fopen関数を用いて、ファイルポインタinfpにtest1.txtを割り当てる。 アクセスの方法は、「読み出し」(入力) T h i s a t e f l . \n f i l e c o n t a s w . \n EOF c = getc( infp ) T c

一般的なファイルアクセス fopen関数を用いて、ファイルポインタinfpにtest1.txtを割り当てる。 アクセスの方法は、「読み出し」(入力) T h i s a t e f l . \n f i l e c o n t a s w . \n EOF putc (c, outfp) T c

一般的なファイルアクセス T fopen関数を用いて、ファイルポインタinfpにtest1.txtを割り当てる。 アクセスの方法は、「読み出し」(入力) T h i s a t e f l . \n f i l e c o n t a s w . \n EOF cat2は 1文字ずつ outfp に出力する。 → testout.txtに’T’が書き込まれる。 putc (c, outfp) T c T outfp

一般的なファイルアクセス h fopen関数を用いて、ファイルポインタinfpにtest1.txtを割り当てる。 アクセスの方法は、「読み出し」(入力) T h i s a t e f l . \n 1文字進む f i l e c o n t a s w . \n EOF h c = getc( infp ) h c infp

一般的なファイルアクセス h fopen関数を用いて、ファイルポインタinfpにtest1.txtを割り当てる。 アクセスの方法は、「読み出し」(入力) T h i s a t e f l . \n f i l e c o n t a s w . \n EOF cat2は 1文字ずつ outfp に出力する。 → testout.txtに(’T’に続けて) ’h’が書き込まれる。 putc (c, outfp) h c h outfp

一般的なファイルアクセス i fopen関数を用いて、ファイルポインタinfpにtest1.txtを割り当てる。 アクセスの方法は、「読み出し」(入力) T h i s a t e f l . \n 1文字進む f i l e c o n t a s w . \n EOF i c = getc( infp ) i c infp

一般的なファイルアクセス i fopen関数を用いて、ファイルポインタinfpにtest1.txtを割り当てる。 アクセスの方法は、「読み出し」(入力) T h i s a t e f l . \n f i l e c o n t a s w . \n EOF cat2は 1文字ずつ outfp に出力する。 → testout.txtに(’h’に続けて) ’i’が書き込まれる。 putc (c, outfp) i c i outfp

一般的なファイルアクセス … … fopen関数を用いて、ファイルポインタinfpにtest1.txtを割り当てる。 アクセスの方法は、「読み出し」(入力) T h i s a t e f l . \n … 1文字ずつ進む f i l e c o n t a s w . \n EOF cat2は 1文字ずつ outfp に出力する。 → testout.txtの最後尾に 出力された文字が書き込まれる。 … c = getc ( infp ) putc( c, outfp) … c … infp outfp

一般的なファイルアクセス fopen関数を用いて、ファイルポインタinfpにtest1.txtを割り当てる。 アクセスの方法は、「読み出し」(入力) T h i s a t e f l . \n f i l e c o n t a s w . \n EOF … ファイルの終わり c = getc ( infp ) EOF c infp

一般的なファイルアクセス fclose関数を用いて、 fclose関数を用いて、 ファイルポインタoutfpを閉じる ファイルポインタinfpを閉じる fclose ( infp ) fclose ( outfp ) EOF c infp outfp 終了