0

私はこのコードに問題があります:

    void readObj(const char* fName, std::vector<Vector3> &tempVertex, std::vector<Face3>  &tempFaces){
    FILE* file;
    file = fopen(fName, "r");
    if (file == 0)
        printf("#ERROR# can't open file!");
    else{
        while(true){
         char lineHeader[1000];
         int res = fscanf(file, "%s", lineHeader);
         if (res == EOF)
             break;
         else if (strcmp(lineHeader, "v ") == 0){
             Vector3 v;
             fscanf(file, "%f %f %f\n", &v.x, &v.y, &v.z);
             cout<<"tempVertex.push_back(v)";
             tempVertex.push_back(v);
         }
         else if (strcmp(lineHeader, "f ") == 0){
             Face3 f;
             fscanf(file, "%d %d %d", &f.a, &f.b, &f.c);
             cout<<"tempFaces.push_back(f)";
             tempFaces.push_back(f);
         }
         else{
            fscanf(file, "/n");
            cout<<"Nothing in this line!\n";
            }
        }
    }
}

ここで私はそれを使用します:

private: System::Void readFile(System::Object^  sender, System::EventArgs^  e) {
         vector<Vector3> test;  
         vector<Face3> ftest;
         reading::readObj("Text.txt", test, ftest);
     }

テスト.txt:

    v 1.0f 2.0f 3.0
    f 1 2 3

そして、それは以下のみを生成します:

    Nothing in this line! (x8)

tempVertex.push_back(v) および tempFaces.push_back(f) の代わりに。

4

1 に答える 1