:: reverse dictionary ::
※ソースファイルについて
ストリームをファイルの先頭に移動するには、rewind 関数を使います。
#include<stdio.h>#include<stdlib.h>#include<string.h>
FILE *fp;intnum;chardata[256]; fp = fopen("sample.txt", "rb");if(fp == NULL) { printf("sample.txt を開けませんでした。\n");returnEXIT_FAILURE; } memset(data, 0,sizeof(data)); /* NULL文字で初期化 */ /* 5バイトずつ読み込み */ num = fread(data,sizeof(char), 5, fp); data[num++] = ' '; num += fread(data + num,sizeof(char), 5, fp); /* 先頭に戻す */ rewind(fp); /* 10バイト読み込み */ data[num++] = ' '; num += fread(data + num,sizeof(char), 10, fp); fclose(fp);
sample.txt の内容が
ABCDEFGHIJKLMNOPQRSTUVWXYZ
となっている場合、data は "ABCDE FGHIJ ABCDEFGHIJ" になります。
void rewind(FILE *fs)
ストリーム fs をファイルの先頭に移動します。
移動と同時に、ストリームの EOF 表示子とエラー表示子をクリアします。
fs … ファイルストリーム
ファイルを読み書きする関数は、ストリームに位置以外の表示子(インジケータ)を設定することがあります。
ファイルの終端(EOF)に到達した場合は、「EOF 表示子」をストリームに設定します。 エラーが発生した場合は、「エラー表示子」をストリームに設定します。
rewind 関数は、この2つの表示子をクリア(解除)します。
Copyright (C) 2005-2007 Noto Watabe. All rights reserved.
e-mail:wmh@always-pg.com