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

Slides:



Advertisements
Similar presentations
システムプログラミング 情報工学科 篠埜 功 情報工学科 3 年生対象 専門科目 第5回 シェルスクリプトの続 き レポート課題 main 関数の引数 usage メッセージ.
Advertisements

プロセスの生成とコマンドの実行 プロセスの生成とコマンドの実行 プロセス生成のシステムコール プロセス生成のシステムコール プロセス生成のプログラム例 プロセス生成のプログラム例 プログラム実行のシステムコール プログラム実行のシステムコール 子プロセスの終了を待つシステムコール 子プロセスの終了を待つシステムコール.
オブジェクト指向言語・ オブジェクト指向言語演習 中間試験回答例. Jan. 12, 2005 情報処理技術基礎演習 II 2 オブジェクト指向言語 中間試験解説 1  (1) 円柱の体積(円柱の体積 = 底面の円の面積 x 高さ) を求めるプログラムを作成しなさい。ただし、出力結果は、入 力した底面の円の半径.
システムプログラミング 第10回 情報工学科 篠埜 功. 今回の内容 プロセス(続き) – execve システムコール 現在のプロセスを、引数に与えられたファイル(実行 形式ファイルあるいはシェルスクリプト等の実行可能 なファイル)を受け取り、現在のプログラムをそれで 置き換える(変身)。 fork.
システムプログラミング 第7回、8回 ファイルシステム関連の システムコール
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
数理情報工学演習第一C プログラミング演習 (第3回 ) 2014/04/21
リダイレクト パイプ 標準入出力プログラム コマンド行引数 関数 system()
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
アルゴリズムとデータ構造 補足資料13-4 「2分探索木の追加・削除(ダイジェスト)」
OSとコマンド OS:コンピュータを使うための基本プログラム コマンド:OS上で使用できる命令 OS本体であるカーネルの内部コマンド
第13回 プログラミングⅡ 第13回
12: コマンドライン引数 C プログラミング入門 総機1 (月1) Linux にログインし、以下の講義ページ を開いておくこと
記憶クラス 変数をどのような記憶領域に割り当てるかを指定するのが記憶クラス 記憶クラスには、自動変数、静的変数、外部変数などがある。
12: コマンドライン引数 C プログラミング入門 基幹7 (水5) Linux にログインし、以下の講義ページ を開いておくこと
第8回 プログラミングⅡ 第8回
アルゴリズムとデータ構造 補足資料7-3 「単純選択ソートselsort.c」
情報処理Ⅱ 第13回 2006年1月20日(金).
アルゴリズムとデータ構造 補足資料4-2 「線形探索」
アルゴリズムとデータ構造 補足資料10-2 「nクイーン」
精密工学科プログラミング基礎 第9回資料 (12/11 実施)
ファイル操作と文字列の利用.
前回の復習 ファイル入出力①.
情報処理Ⅱ 第13回 2004年01月25日(火).
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
プログラミング 2 ファイル処理.
プログラミング論 ファイル入出力
システムプログラミング 第6回、7回、8回 情報工学科 篠埜 功.
リダイレクト パイプ 標準入出力プログラム コマンド行引数 関数 system()
プログラミング演習I 2003年6月25日(第10回) 木村巌.
デバッガ dbx の使い方.
アルゴリズムとデータ構造 補足資料11-1 「mallocとfree」
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
アルゴリズムとデータ構造 補足資料5-2 「サンプルプログラムsetop.c」
演習1の解答例の解説 2004年10月21日 海谷 治彦.
第14章 ファイル操作 (コマンドプロンプト版)
アルゴリズムとデータ構造 補足資料4-1 「メモリと配列」
アルゴリズムとデータ構造 補足資料5-1 「メモリとポインタ」
プログラミング論 ファイル入出力
アルゴリズムとデータ構造 補足資料6-2 「サンプルプログラムcat2.c」
演習1の解答例の解説 2006年11月8日 海谷 治彦.
システムプログラミング 第7回、8回 ファイルシステム関連の システムコール
2005年度 データ構造とアルゴリズム 第6回 「ハッシュ法を用いた探索」
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
精密工学科プログラミング基礎Ⅱ 第4回資料 今回の授業で習得してほしいこと: 文字列の扱い ファイル入出力の方法 コマンドライン引数の使い方
第14章 ファイル操作 14.1 ファイルへの書き込み 14.2 ファイルからの読み込み 14.3 ファイルへの追加書き込み
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
C言語演習 情報ネットワーク特論.
システムプログラミング 第7回、8回 ファイルシステム関連の システムコール
B演習(言語処理系演習)第2回 田浦.
第14章 ファイル操作 14.1 ファイルへの書き込み 14.2 ファイルからの読み込み 14.3 ファイルへの追加書き込み
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
プログラミング基礎a 第6回 C言語によるプログラミング入門 配列と文字列(その2)
プログラミング演習I 2003年7月2日(第11回) 木村巌.
ファイルの読み込み, ファイルからのデータの取り出し, ファイルの書き出し
12: コマンドライン引数 C プログラミング入門 基幹7 (水5) Linux にログインし、以下の講義ページを開いておく こと
アルゴリズムとデータ構造 補足資料11-3 「線形リストのオペレータ」
情報処理Ⅱ 2006年11月24日(金).
アルゴリズムとデータ構造 補足資料7-1 「メモリでの『構造体の配列』」
プログラミング 4 文字列.
アルゴリズムとデータ構造 補足資料6-1 「サンプルプログラムcat1.c」
アルゴリズムとデータ構造 補足資料5-3 「サンプルプログラムstrcat.c」
C言語プログラミング・課題 ファイルを読み込んで、その内容を表示するプログラムを作成せよ。
岡村耕二 UDP通信プログラム 課題と回答例 岡村耕二 情報ネットワーク.
情報処理Ⅱ 2005年11月25日(金).
第14章 ファイル操作 14.1 ファイルへの書き込み 14.2 ファイルからの読み込み 14.3 ファイルへの追加書き込み
モバイルプログラミング第3回 Cプログラミングの基礎( 2 )
12: コマンドライン引数 C プログラミング入門 基幹2 (月4) Linux にログインし、以下の講義ページ を開いておくこと
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
Presentation transcript:

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

main関数の引数 argc, argv main(int argc, char *argv[]) { … }

main関数の引数 argc, argv % echo hello, world [enter] main(int argc, char *argv[]) { … } コマンド名: echo 第1引数: hello, 第2引数: world の場合: % echo hello, world [enter]

main関数の引数 argc, argv % echo hello, world [enter] main(int argc, char *argv[]) { … } argv argv[0] argv[1] argv[2] argv[3] e c h o \0 h e l o , \0 w o r l d \0 コマンド名: echo 第1引数: hello, 第2引数: world の場合: % echo hello, world [enter]

main関数の引数 argc, argv % echo hello, world [enter] main(int argc, char *argv[]) { … } argc: argument count: 引数の数 argv: argument vector: 引数の文字列 argv argv[0] argv[1] argv[2] argv[3] e c h o \0 h e l o , \0 w o r l d \0 コマンド名: echo 第1引数: hello, 第2引数: world の場合: % echo hello, world [enter]

main関数の引数 argc, argv % echo hello, world [enter] main(int argc, char *argv[]) { … } argc: argument count: 引数の数 argv: argument vector: 引数の文字列 argv[0]=“echo” コマンド名の文字列 argv[1]=“hello,” 第1引数の文字列 argv[2]=“world” 第2引数の文字列 コマンド名: echo 第1引数: hello, 第2引数: world の場合: % echo hello, world [enter]

/. アルゴリズムとデータ構造 サンプルプログラム cat3 /**************************************************************** アルゴリズムとデータ構造 サンプルプログラム cat3.c <<ファイルの例: 入力ファイルを出力ファイルにコピー>> copyright (c) 1995,96,97 T.Mori <mori@forest.dnj.ynu.ac.jp> ****************************************************************/ #include <stdio.h> main(int argc, char *argv[]) { int c; FILE *infp,*outfp; if (argc != 3) { /* 引数の数が合わない時は,使い方を表示 */ fprintf(stderr,"Usage: %s inputfile outputfile\n", argv[0]); exit(1); } else { if ((infp = fopen(argv[1],"r")) == NULL) { /* 入力ファイルが開けない場合はエラー */ fprintf(stderr,"%s: %s: No such file or directory\n", argv[0],argv[1]); else if ((outfp = fopen(argv[2],"w")) == NULL) { /* 出力ファイルが開けない場合はエラー */ fprintf(stderr,"%s: Cannot open %s\n", argv[0],argv[2]); while ((c = getc(infp)) != EOF) /* EOFが現れるまで入力ファイルから文字を読み */ putc(c,outfp); /* 出力ファイルに書き込む */ fclose(infp); /* 各ファイルを閉じる */ fclose(outfp); exit(0); 慣用表現なので、 覚えてしまおう!