Sì hai ragione
ecco l'intero programma modificato:
codice:
#include "stdafx.h"
#include <iostream>
#include <string>
#include <fstream>
#include <stdio.h>
using namespace std;
int calcolaV(string file){
string riga="";
int n=0;
ifstream input(file);
if(!input){
cout<<"Il file "<<file<<" non è stato trovato."<<endl;
return -1;
}
while(getline(input,riga)){
if(riga[0]=='v' && riga[1]==' '){
n++;
}
}
input.close();
return n;
}
int main(){
int a;
int vertici=calcolaV("G:/Informatica/C++/Prova_mod/Debug/cubo.obj");
cout<<"Numero vertici: "<<vertici;
cout<<"\nFine";
cin>>a;
}
Sui file .obj non conosco molto, ma comunque penso siano di testo in quanto si possono aprire con il blocco note e vedere il loro contenuto.
Solitamente in una riga in cui è presente un vertice, il primo carattere è 'v' e poi ci sono 3 numeri (float) che rappresentano le coordinate dei vertici x, y e z.
Esempio:
v 1.0000000 -1.9987434 0.6665543