• 検索結果がありません。

郢ァキ郢ァケ郢ホ堤ケァウ郢晄ァュホヲ郢晏ウィ?闖エ諛邵コィ郢ァウ郢晄ァュホヲ郢晏ウィホ帷ケァ、郢晢スウ陟大「鍋邵コョ陷ソ髢セ蜉ア竊定悋蠕竏スコ蠕。ケ諤懈浤郢ァ蜻茨スア繧ス∫ケァ?br/>

N/A
N/A
Protected

Academic year: 2021

シェア "郢ァキ郢ァケ郢ホ堤ケァウ郢晄ァュホヲ郢晏ウィ?闖エ諛邵コィ郢ァウ郢晄ァュホヲ郢晏ウィホ帷ケァ、郢晢スウ陟大「鍋邵コョ陷ソ髢セ蜉ア竊定悋蠕竏スコ蠕。ケ諤懈浤郢ァ蜻茨スア繧ス∫ケァ?br/>"

Copied!
4
0
0

読み込み中.... (全文を見る)

全文

(1)

1

システムコマンドの作成とコマンドライン引数の取得 

232

1.1

学習のポイント

TYPEコマンド、COPYコマンドなどのシステムコマンドを作るときに使うコマンド ライン引数の取得法について学びます。

 MS-DOSのCOPYコマンドで、ファイルa.cをドライブBにb.cとしてコピーする には、 A>copy a.c b:b.c とします。このようにコマンドを投入した行をコマンド・ラインと呼び、コマンドに渡さ れるパラメータをコマンド・ライン引数と呼びます。  今までのプログラムではmain関数に引数を書きませんでした。Cではmain関数に引 数を書くことでコマンド・ラインからの引数を受け取ることができます。

void main(int argc, char *argv[]) {

. . .

 argcにはコマンド・ライン引数の数が、argv[0]、argv[1]・・・には各引数へのポイン タが渡されます。

1.2

例題

51 mytype.c 233

ファイルから1文字ずつリードしてディスプレイに表示していくTYPEコマンドを作 りなさい /*  ファイルから1文字ずつリードしてディスプレイに表示していくTYPEコマンド を作りなさい。  mytype.c */ 1

(2)

#include <stdio.h> #include <stdlib.h>

int main(int argc, char *argv[]) {

FILE *fp; int c;

if((fp = fopen(argv[1], "r")) == NULL){ printf("Can’t open File\n");

exit(1); }

while((c = getc(fp)) != EOF){ putchar(c); } fclose(fp); return 0; }

1.3

練習問題

51 mycopy.c 238

/*  ファイルの内容を1文字単位で別のファイルにコピーするCOPYコマンドを作り なさい。  mycopy.c */ #include <stdio.h> #include <stdlib.h>

int main(int argc, char *argv[]) {

int c;

FILE *fpi, *fpo; if(argc != 3){

(3)

printf("Arg is not correct\n"); exit(1);

}

if((fpi = fopen(argv[1], "r")) == NULL){ printf("Can’t open File\n");

exit(1); }

if((fpo = fopen(argv[2], "w")) == NULL){ printf("Can’t creat File\n");

exit(1); }

while((c = getc(fpi)) != EOF){ putc(c, fpo); } fclose(fpi); fclose(fpo); return 0; }

2

機械学習と深層学習

2.1

和、二乗和を求める

sum2.c

 機械学習と深層学習 小高知宏著 オーム社 31頁 /******************************/ /* sum2.c */ /* 和,二乗和を求める */ /* 標準入力から実数を読み取り,*/ /* 和と二乗和を逐次出力します */ /* コントロールzで終了します */ /* 使い方 */ /* C:\Users\odaka\dl\ch1>sum2 */ /******************************/ 3

(4)

/*Visual Studioとの互換性確保 */ #define _CRT_SECURE_NO_WARNINGS /*ヘッダファイルのインクルード*/ #include <stdio.h> #include <stdlib.h> /* 記号定数の定義 */ #define BUFSIZE 256 /*入力バッファサイズ*/ /****************/ /* main()関数 */ /****************/ int main() { char linebuf[BUFSIZE] ;/*入力バッファ*/ double data ;/*入力データ*/ double sum=0.0 ;/*和*/ double sum2=0.0 ;/*2乗和*/ while(fgets(linebuf,BUFSIZE,stdin)!=NULL){ /*行の読み取りが可能な間繰り返す*/ if(sscanf(linebuf,"%lf",&data)!=0){/*変換できたら*/ sum+=data ; sum2+=data*data ; printf("%lf\t%lf\n",sum,sum2) ; } } return 0 ; } 4

参照

関連したドキュメント

[r]

We find the criteria for the solvability of the operator equation AX − XB = C, where A, B , and C are unbounded operators, and use the result to show existence and regularity

Lemma 4.1 (which corresponds to Lemma 5.1), we obtain an abc-triple that can in fact be shown (i.e., by applying the arguments of Lemma 4.4 or Lemma 5.2) to satisfy the

極大な をすべて に替えることで C-Tutte

※ MSCI/S&amp;P GICSとは、スタン ダード&プアーズとMSCI Inc.が共 同で作成した世界産業分類基準 (Global Industry Classification

(2)

[r]

現行の HDTV デジタル放送では 4:2:0 が採用されていること、また、 Main 10 プロファイルおよ び Main プロファイルは Y′C′ B C′ R 4:2:0 のみをサポートしていることから、 Y′C′ B