Download presentation
Presentation is loading. Please wait.
1
アルゴリズムとデータ構造 補足資料6-1 「サンプルプログラムcat1.c」
横浜国立大学 理工学部 数物・電子情報系学科 富井尚志
2
/. アルゴリズムとデータ構造 サンプルプログラム cat1
/**************************************************************** アルゴリズムとデータ構造 サンプルプログラム cat1.c <<ファイルの例: 標準入力を標準出力にコピー>> copyright (c) 1995,96,97 T.Mori ****************************************************************/ #include <stdio.h> main() { int c; /* 入力文字 */ while ( ( c = getchar( ) ) != EOF ) /* EOFが現れるまで標準入力から文字を読み */ putchar(c); /* それを印刷 */ exit(0); }
3
標準入力 stdin テキストは、ストリーム(列)として扱われる。 stdin は、通常はキーボードからの入力をストリームとする。
入力のリダイレクション(“<”記号)によって、ファイルを標準入力に接続できる。 (ファイルを入力のストリームとする)
4
テキストファイル 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は文字ではない)
5
リダイレクションによるファイルと標準入力(出力)の接続
入力のリダイレクションによって、test1.txtはstdinに接続される。 (キーボードから1文字ずつ入力したのと同じ) T h i s a t e f l . \n f i l e c o n t a s w . \n EOF cat1 は、stdin の先頭から1文字ずつ入力を受け取る。 プログラム cat1 stdin stdout cat1 は 1文字ずつ stdout に出力する。 cat1 < test1.txt
6
リダイレクションによるファイルと標準入力(出力)の接続
入力のリダイレクションによって、test1.txtはstdinに接続される。 (キーボードから1文字ずつ入力したのと同じ) 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 = getchar( ) ? c stdin
7
リダイレクションによるファイルと標準入力(出力)の接続
入力のリダイレクションによって、test1.txtはstdinに接続される。 (キーボードから1文字ずつ入力したのと同じ) T h i s a t e f l . \n f i l e c o n t a s w . \n EOF c = getchar( ) T c
8
リダイレクションによるファイルと標準入力(出力)の接続
入力のリダイレクションによって、test1.txtはstdinに接続される。 (キーボードから1文字ずつ入力したのと同じ) T h i s a t e f l . \n f i l e c o n t a s w . \n EOF purchar(c) T c
9
リダイレクションによるファイルと標準入力(出力)の接続
入力のリダイレクションによって、test1.txtはstdinに接続される。 (キーボードから1文字ずつ入力したのと同じ) T h i s a t e f l . \n f i l e c o n t a s w . \n EOF cat1 は 1文字ずつ stdout に出力する。 → 画面にTが表示される。 purchar(c) T c T stdout
10
リダイレクションによるファイルと標準入力(出力)の接続
入力のリダイレクションによって、test1.txtはstdinに接続される。 (キーボードから1文字ずつ入力したのと同じ) 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 = getchar( ) T c stdin
11
リダイレクションによるファイルと標準入力(出力)の接続
入力のリダイレクションによって、test1.txtはstdinに接続される。 (キーボードから1文字ずつ入力したのと同じ) T h i s a t e f l . \n f i l e c o n t a s w . \n EOF c = getchar( ) h c
12
リダイレクションによるファイルと標準入力(出力)の接続
入力のリダイレクションによって、test1.txtはstdinに接続される。 (キーボードから1文字ずつ入力したのと同じ) T h i s a t e f l . \n f i l e c o n t a s w . \n EOF purchar(c) h c
13
リダイレクションによるファイルと標準入力(出力)の接続
入力のリダイレクションによって、test1.txtはstdinに接続される。 (キーボードから1文字ずつ入力したのと同じ) T h i s a t e f l . \n f i l e c o n t a s w . \n EOF cat1 は 1文字ずつ stdout に出力する。 → (Tに続けて)画面にhが表示される。 purchar(c) h c h stdout
14
リダイレクションによるファイルと標準入力(出力)の接続
入力のリダイレクションによって、test1.txtはstdinに接続される。 (キーボードから1文字ずつ入力したのと同じ) 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 = getchar( ) i c stdin
15
リダイレクションによるファイルと標準入力(出力)の接続
入力のリダイレクションによって、test1.txtはstdinに接続される。 (キーボードから1文字ずつ入力したのと同じ) T h i s a t e f l . \n f i l e c o n t a s w . \n EOF cat1 は 1文字ずつ stdout に出力する。 → (hに続けて)画面にiが表示される。 purchar(c) i c i stdout
16
リダイレクションによるファイルと標準入力(出力)の接続
入力のリダイレクションによって、test1.txtはstdinに接続される。 (キーボードから1文字ずつ入力したのと同じ) T h i s a t e f l . \n 1文字進む f i l e c o n t a s w . \n EOF s c = getchar( ) s c stdin
17
リダイレクションによるファイルと標準入力(出力)の接続
入力のリダイレクションによって、test1.txtはstdinに接続される。 (キーボードから1文字ずつ入力したのと同じ) T h i s a t e f l . \n f i l e c o n t a s w . \n EOF cat1 は 1文字ずつ stdout に出力する。 → (iに続けて)画面にsが表示される。 purchar(c) s c s stdout
18
リダイレクションによるファイルと標準入力(出力)の接続
入力のリダイレクションによって、test1.txtはstdinに接続される。 (キーボードから1文字ずつ入力したのと同じ) T h i s a t e f l . \n … 1文字ずつ進む f i l e c o n t a s w . \n EOF … cat1 は 1文字ずつ stdout に出力する。 c = getchar( ) … c … stdin stdout
19
リダイレクションによるファイルと標準入力(出力)の接続
入力のリダイレクションによって、test1.txtはstdinに接続される。 (キーボードから1文字ずつ入力したのと同じ) T h i s a t e f l . \n f i l e c o n t a s w . \n EOF … ファイルの終わり c = getchar( ) EOF c stdin
20
リダイレクションによるファイルと標準入力(出力)の接続
入力のリダイレクションによって、test1.txtはstdinに接続される。 (キーボードから1文字ずつ入力したのと同じ) T h i s a t e f l . \n f i l e c o n t a s w . \n EOF … ファイルの終わり c = getchar( ) EOF c stdin 終了
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.