06/11/13 10:36:12 fma5AE7U
#include "pSetting.h" /* 【ファイル名】pSetting.c */
FILE *pSetting(int iArg, char *pArg, int *pCount, int *pE, int *pShow, int *pRepeat, char *pBall, double *pWeight) {
char cFile[FILE_NAME], c[SETTING];
char *pC;
char *pStop;
FILE *pFile;
int i, iLine, iS;
unsigned long length, init[4];
switch(iArg) {
case 2:
pFile = fopen(pArg, "rt");/* 設定ファイルをオープンした */
if(pFile == NULL) {
fprintf(stderr, "pSetting(): pFile == NULL (%s)\n", pArg);
exit(EXIT_FAILURE);
}
break;
default:
fprintf(stderr, USAGE);
exit(EXIT_FAILURE);
}
cFile[0]='\0';
*pE = 0;
*pShow = 1;
*pRepeat = 0;
i = 0;
for(iLine = 0; iLine < LINES; iLine++) {
pC = fgets(c, SETTING, pFile);
if(pC == NULL)
break;
pC = strchr(c, '\n');
if(pC == NULL) {
fprintf(stderr, "pSetting(): pC == NULL\n");/* 改行文字が無かった */
exit(EXIT_FAILURE);
}
*pC = '\0';/* 改行文字を削除した */
pC = strchr(c, '#');
if(pC != NULL)
*pC = '\0';/* コメントを削除した */
/* メルセンヌ・ツイスタの設定 */
pC = strstr(c, "0x");
if(pC != NULL) {
iS = sscanf(c, "%lx, %lx, %lx, %lx, %ld", &init[0], &init[1], &init[2], &init[3], &length);
if(iS != 5) {
fprintf(stderr, "pSetting(): iS != 5\n");
exit(EXIT_FAILURE);
}
init_by_array(init, length);/* メルセンヌ・ツイスタの初期化 */
continue;
}
pC = strstr(c, XTO);/* つづく */