LECTURE 講義・技術関連情報|谷口忠大Home Page(たにちゅー・どっと・こむ)

HOME > LECTURE > 担当講義 > 知能情報学実験:信号処理

担当講義

知能情報学実験:信号処理

2009-05-18 (mon)|カテゴリー:

知能情報学実験「信号処理」受講者へ

皆さんの中には昨年度のプログラミング演習1で習われた事を「サッパリ」お忘れの方もおられるでしょう.

もちろんそれは「よろしくない」事ですが.ファイル入出力については大体期末にならい,バタバタとして身につきにくい単元でもありますので,サンプルソースを提示しておきます.課題1で「ファイル出力」,課題2以降で「ファイル入力」を用います.

講義の内容については何はともあれ←北野先生の講義情報ページをご覧下さい.

1.ファイル出力サンプルコード

たとえば,新しくdata.txtという名前のファイルを作って,そこ0~9という数字をはき出すプログラムを考えましょう.

 


#include <stdio.h> 
 
int main(){
 
	int i=0;
	//	①FILEでファイルポインタを宣言する.
	FILE *fp;
	//	②fopenで"w"か"r"か"a"か開くモードを指定し,ファイルを開く.
	fp =fopen("data.txt","w");//"w"はwrite:書き込みの意味です.
	for(i=0;i<10;i++){
		//③fprintfでファイルポインタ(開いたファイル)に書き込む
		fprintf(fp,"%d\n",i);
	}
	//④ファイルを閉じる.
	fclose(fp);
 
	return 0;
}
 
 
/*
	コードの実行結果
 
	プログラムのあるフォルダに"data.txt"ができ以下の
	データが出力されます.
 
	0
	1
	2
	3
	4
	5
	6
	7
	8
	9
 
*/



2.ファイル入力サンプルコード

つぎに上でつくったデータを読み込んで画面に表示するプログラムを作りましょう


#include <stdio.h>
 
int main(){
 
	int i=0;
	int a=0;
	//	①FILEでファイルポインタを宣言する.
	FILE *fp;
	//	②fopenで"r"と開くモードを指定し,ファイルを開く.
	//	このときちゃんと開くファイル(例えば)"data.txt"があることを確認
	fp =fopen("data.txt","r");//"r"はread書き込みの意味です.
	for(i=0;i<10;i++){
		//③fprintfでファイルポインタ(開いたファイル)に書き込む
		fscanf(fp,"%d",&a);//scanfとほとんど同じ文法なので"&"を忘れない.
		printf("%d,",a);
	}
	//④ファイルを閉じる.
	fclose(fp);
 
	return 0;
}
 
 
/*
	コードの実行結果
 
	プログラムのあるフォルダにある"data.txt"から整数aに
	データが読み込まれ,以下のデータがprintfによって出力されます.
	0,1,2,3,4,5,6,7,8,9,
 
*/


sin, cos, フーリエ変換使用時コンパイル時の注意

コンパイル時に -lm をつける必要があります.(math(数学)ライブラリーを使うと言う意味)

たとえば

> gcc test.c -o test -lm

のようにしないとエラーがでます.

コメントの投稿




*


下記のタグが使用できます。
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt=""> <pre lang="" line="" escaped="">

インフォメーション



tanichuの著作

copyright © Tadahiro Taniguchi All Right Reserved.