読者です 読者をやめる 読者になる 読者になる

C言語 #define

Program C言語

C言語改訂版1 はじめてのプログラミング (CD-ROM付) (プログラミング学習シリーズ)

C言語改訂版1 はじめてのプログラミング (CD-ROM付) (プログラミング学習シリーズ)

#defineという機能があるらしい。

    #define 文字列A 文字列B

と書けばファイル中の文字列Aを文字列Bを置き換えてくれるとのこと。文字列Aは文字列Bと書き表します、という宣言と理解した。メンテナンスしやすいように最初に宣言しておきましょう、ということか。

早速書いてみた。

#include <stdio.h>
#include <string.h> 	//strcat()を使うため
#include "Person.h"	//さっきのコードを参照
#define MAX_LENGTH 600 //メンテナンス上変更が予想されるパラメータはdefineで定義 #define FILE_LENGTH 100 //メンテナンス上変更が予想されるパラメータはdefineで定義
main () { FILE *fp; //ファイルポインタ char *p; //終了判定のためのポインタ char str[MAX_LENGTH]; //ファイル読込用の領域 char fname[FILE_LENGTH]; //ファイル名格納用文字列 char input[MAX_LENGTH*4]; //読み込んだ行を格納する変数 puts("Please input a file name."); gets(fname); //ファイル名をfnameに代入 fp = fopen(fname, "r"); //読込モードでfnameを開く p = fgets(str, MAX_LENGTH, fp); //引数は読込用文字列, 最大読込長, ファイルポインタ while (p != NULL) { printf("%s",str); //読み込んだ行を表示 strcat(input, str); //読み込んだ行をinputに格納 p = fgets(str, MAX_LENGTH, fp); //再び一行読み込む } fclose(fp); //ファイルを閉じる }

まあ、これは簡単…。他にも便利な機能がないか、探し続けることが大切か。