0
ファイルを解析しようとしています。私は現在、次のコードを使用していますが、sstream提供ベースのソリューションscanfをsstreamに置き換えようとしています
unsigned int vertexIndex[3], uvIndex[3], normalIndex[3];
const char* cstring = line.c_str();
int matches = sscanf(cstring, "f %d/%d/%d %d/%d/%d %d/%d/%d\n", &vertexIndex[0], &uvIndex[0], &normalIndex[0], &vertexIndex[1], &uvIndex[1], &normalIndex[1], &vertexIndex[2], &uvIndex[2], &normalIndex[2]);
と交換したいと思い、私は次のことをしようとすると、私は
std::stringstream f(line);
f >> vertexIndex[0] >> uvIndex[0] >> normalIndex[0] >> vertexIndex[1] >> uvIndex[1] >> normalIndex[1] >> vertexIndex[2] >> uvIndex[2] >> normalIndex[2];
予期しない結果を得る私が誤解しています確信しています何とかストリームを使用する...任意のヘルプは素晴らしいだろう!
"f"とスラッシュはどこにありますか?私はあなたがそれを行うためのコードを書いたことを知りません。 –
(C++でもかなり正直なところですが、ほとんどの場合、オリジナルのソリューションがおそらく好ましいでしょう) –
[cinで特定のフォーマットで読む]の可能な複製(http://stackoverflow.com/questions/14901678/reading-特定の形式のcinでの) –