掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
文字列を比較するには? (ID:60692)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
質問があります。 まず実力は初心者です。 処理の概要はテキストから読み取った一行のデータに対して、 処理の対象外文字列がないかをチェックするものです。 処理の詳細は、開始位置src_countのstrbuffをExclusion_chk_strに入れます。次に 先頭からstr_num文字分のExclusion_chk_strをExclusionbuffに入れる事により、 読み取った1行の中のチェックしたい文字列のみを抜き出します。 抜き取った文字列をobject_exclusion_check内で、処理対象外リストと比較し 結果を返し、それにより処理をするか処理をしないかというふうにしようと思っているの ですが、どうもobject_exclusion_check内で比較する時に一致しなくてはいけないはずが 一致しません。 原因は比較するものの型が違う為だと思うのですが、どうしたらいいかが分かりません。 よろしくお願い致します。 【ソース】 int Input_anchar( char *in_dir, char *out_dir, char *file_name) { char *strbuff = NULL ; char *Exclusion_chk_str = NULL ; char *Exclusionbuff = NULL ; ※※※※※※ 省略 ※※※※※※ // 処理対象除外なものか比較する文字列の取得 strcpy( Exclusion_chk_str, &strbuff[src_count] ) ; strncpy( Exclusionbuff, Exclusion_chk_str, str_num ) ; // 処理対象除外でなければ処理を行う if( object_exclusion_check(&*Exclusionbuff) == 0 ) { outstrbuff[dis_count] = '\0' ; strcat( outstrbuff, ANCHOR_BGIN ); dis_count += ANCHOR_BGIN_LEN; } ※※※※※※ 省略 ※※※※※※ } // 処理対象除外チェック int object_exclusion_check( char *Exclusionbuff) { FILE *exclusion_file; char exclusion_template[MAX_PATH] ; char s[256] = NULL; // 処理対象除外ファイルのオープン if( (exclusion_file = fopen( "e:\\exclusion.txt", "r" )) == NULL ) { fprintf( stderr, "file open error(%s)\n", exclusion_template ); } // 処理対象外チェック while( fgets(s, 1024, exclusion_file) != NULL ){ if( strcmp(Exclusionbuff, s) == 0) { fclose(exclusion_file); return 1; } } fclose(exclusion_file); return 0; } 環境:OS Windows 2000 Visual C++ 6.0
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.