バッファとテキストファイル比較方法
よろしくお願いいたします。
C言語勉強中のものです。
質問内容は下記です。
英単語ソートプログラムの制作中です。
仕様:
テキストファイルから文読み込み
アルバベット降順ソート
1ページを32として、indexのようなものを生成する。
英単語登録済みのバッファとテキストファイルの比較を行い
テキストファイルの英単語に該当するなら、出力に渡さないというプログラムを書きたいのですが
テキストファイルとバッファの比較の仕方がわからず困っています。
テキストファイルは下記の様な単純な形式です。
例)block.txt
a
an
the
私が今書いてるソースの登録部だけですが提示させて頂きます。
int
regist(char *wordp,int npage )
{
wlist_t *p;
wlist_t *treep;
plist_t *plp;
int cmp; /* 文字列比較 */
if( wtop == (wlist_t *)NULL ) {
p = alloc_wlist( wordp, npage );
if( !p ) {
return( -1 );
}
wtop = p;
return( 0 );
}else{
treep = wtop;
while( 1 ) {
cmp = strcmp( wordp, treep->wordp );
if( compare < 0) {
if( treep->leftp != NULL ) {
treep = treep->leftp;
}else {
p = alloc_wlist( wordp, npage );
if( !p ) {
return( -1 );
}
treep->leftp = p;
p->up = treep;
return( 0 );
}
}else if( cmp > 0) {
/* wordp is greater than regist word */
if( treep->rightp != NULL ) {
treep = treep->rightp;
}else {
p = alloc_wlist( wordp, npage );
if( !p ) {
return( -1 );
}
treep->rightp = p;
p->up = treep;
return( 0 );
}
}else{
if( treep->lastp->pnum == npage ) {
}else {
plp = alloc_plist( npage );
if( !plp ) {
return( -1 );
}
treep->lastp->nextp = plp;
treep->lastp = plp;
}
free( wordp );
return( 0 );
}
}
return(0);
}
}
おかしい所が多々あると思いますが、とりあえず完成を目指したいので
質問部分のコードの改変、サンプル提示などありましたらよろしくお願いいたします。