一度に 1 行ずつ読み取りながら、テキスト ファイルを解析しています。行ごとに、最初の n 文字が特定の単語に一致するかどうかを確認してから、その行を処理する必要があります。
現在、次のように行われています。
while (!inFile.eof())
{
std::string line;
std::getline(inFile, line);
if (compareCaseInsensitive(line, "facet", 5))
{
std::stringstream lineStream(line);
float a,b,c;
std::string filler;
lineStream >> filler >> filler >> a >> b >> c;
}
}
文字を文字列に読み取り、それらの文字を文字列ストリームにコピーしてから、それらの文字を特定の変数に読み取ります。これは非常に非効率に思えます。文字列ストリームに直接読み込む方法はありますか? または不要なコピーを防ぐために文字列からトークンを抽出しますか?