0

(テキスト) ファイルからキーワードのリストを読み取り、それらを C の CString 配列に追加したいと考えています。配列を正常に設定できますが、これらのキーワードを別の文字列で検索しようとすると、キーワードの末尾に\nがあると推測されるため、false が返されます。

ファイルを読み取る別の方法は、テキスト ファイルをコンマ区切りファイルにし、1 行を読み取ってトークン化することです。しかし、キーワードのリストが拡大し続けるため、サイズが非常に大きくなる可能性のある行を読む方法がわかりません。

サード・レーマン

4

1 に答える 1

0

文字列の最後に悪意のある改行がある可能性があるという問題がある場合は、次を使用できます。

size_t len = strlen (mystring);
if (len > 0)
    if (mystring[len-1] == '\n')
        mystring[--len] = '\0';

mystring読み込んだ後、使用する前にこれを行ってください。

最後の文字が改行かどうかを単純にチェックし、改行の場合は文字列ターミネータに置き換えます。

mystring[-1]最初のチェックは、恐ろしい未定義の動作を引き起こす空の文字列でこれを試行しないようにすることです。

于 2011-09-08T13:04:41.357 に答える