頂点情報 v -0.131961 1.533305 -0.207426 v -0.131961 -1.533305 -0.207426
があるとします、この情報を抜き取って三次元ベクトルに格納したい場合の処理がうまくいっていません。
c++
1 string c = buff.getNextLine();//ここで↑の頂点情報がstring型のcに格納されます。 2 3 ofVec3f vertex;//3次元ベクトルです 4 while(...){ //条件式 5 if (strncmp(c.c_str(),"v",1)==0) { 6 scanf(c.c_str(), "%f %f %f", &vertex.x, &vertex.y, &vertex.z);//ここでエラーがでます。 7 } 8 c = buff.getNextLine(); 9 } 10}
開発環境から、見慣れない関数もあるかと思いますが、ご了承ください。
ここでは、String型cをchar型に変え、最初の文字がvの場合scanf関数によってvertexの各座標に頂点情報を格納しています。
その際、scanfをしている箇所で無限ループに陥ります、おそらく表記が間違っているのかと思うのですが、原因がわかりません、、
追記:このコードだと、vertexとゆうベクトルに1つしか値が格納されませんが、質問として見やすいため、意図的に簡略化しているだけです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。