allora, per dominium sto creando una struttura alquanto particolare.
Ora, mi serve sapere come, leggendo con un ifstream, posso leggere i numeri
Questo è il codice che uso :
Codice:
bool CMap::Initialize()
{
int countline = 0;
bool eos = false;
std::ifstream iS(nameFile.c_str(),std::ios_base::in);
while(!iS.eof() && !eos)
{
iS.getline(this->buffer, BUFSIZE);
if(this->buffer[0] != ' ' && this->buffer[0] != '#')
{
if(this->buffer[0] == 'e' && this->buffer[1] == 'o' && this->buffer[2] == 's')
{
eos = true;
break;
}
if(strlen(this->buffer) > 1)
{
for(int i = 0; i < (int)strlen(this->buffer) ; i++)
{
if(this->buffer[i] >= '0' && this->buffer[i] <= '9')
{
countline += (buffer[i]-'0')*(int)pow((double)10,(double)(strlen(this->buffer)-i));
}
}
}
else
{
countline = (int)(buffer[0]-'0');
}
}
}
std::cout << countline ;
iS.close();
return true;
}
la struttura del file invece è questa :
Codice:
# File structure:
# mapN.bmp -> Indica il file da aprire [heightmap] [potenza di 2 : max 512x512]
# mapN.bmp -> Indica la texture dell'heightmap [potenza di 2 : max 2048x2048]
# mapN.txt -> Indica la struttura della mappa [buchi et similia] [grandezza mappa] [32x32 ecc]
# i file devono trovarsi in :
# i 2 bmp nella cartella GFX/Map
# il file .txt nella cartella Struct/Map
3
eos
#map1
1
map1.bmp
map2.bmp
map3.txt
/1
#map2
2
map2.bmp
map2.bmp
map2.txt
/2
#map3
3
map3.bmp
map3.bmp
map3.txt
/3
allora, perchè, quando leggo il primo numero [13], mi viene 62 ?
sapreste fare pià semplificati il file .txt e il codice?
grazie mille
edit: non so perchè, ma credo che la colpa sia di un int all'inizio della conversione per 2 cifre.
ora provo
edit2: no, cosi va a 82