Hallo,
ik probeer de code van niek_e http://www.helpmij.nl/forum/showthread.php?t=463253 te gebruiken om resoluties uit mijn config.ini bestand te lezen.
Het config.ini bestand bestaat uit een aantal regels en op de eerste regel staat de resolutie,
bijvoorbeeld: resolution=4
Alles werkt, behalve als ik bijvoorbeeld resolution=4 in mijn .ini bestand verander voor resolution=3 hij het else gedeelte uitvoert. Het is alsof alleen het laatste if-statement wordt gecheckt en de if-statements die daarvoor komen worden overgeslagen.
hier is mijn code:
[CPP]
#include <iostream>
#include <vector>
#include <string>
#include <fstream>
int WIDTH;
int HEIGHT;
using namespace std;
int main(){
ifstream infile("config.ini");
if (!infile.is_open() || !infile.good()){
cout << "Fout met openen!";
return -1;
}
vector<string> alle_regels;
string huidige_regel = "";
while (getline(infile, huidige_regel)){
alle_regels.push_back(huidige_regel);
}
cout << "er zaten " << alle_regels.size() << " regels in het bestand. Namelijk:\n";
for (unsigned i = 0; i < alle_regels.size(); i++){
cout << alle_regels << "\n";
}
if(alle_regels[0] == "resolution=1")
{
WIDTH = 800;
HEIGHT = 600;
}
if(alle_regels[0] == "resolution=2")
{
WIDTH = 1024;
HEIGHT = 768;
}
if(alle_regels[0] == "resolution=3") // HD_READY
{
WIDTH = 1280;
HEIGHT = 720;
}
if(alle_regels[0] == "resolution=4")
{
WIDTH = 1280;
HEIGHT = 1024;
}
else
{
WIDTH = 800; // gebruik default resolution
HEIGHT = 600;
}
cout << endl;
cout << "De var WIDTH: " << WIDTH << endl;
cout << "De var HEIGHT: " << HEIGHT << endl;
cin.get();
return 0;
}
[/CPP]
Heeft iemand een idee waar dit aan kan liggen? Ik denk dat het aan het vectortype ligt.
En wat zou ik moeten veranderen zodat als ik bijvoorbeeld resolution=3 neerzet hij dit wel checkt?
ik probeer de code van niek_e http://www.helpmij.nl/forum/showthread.php?t=463253 te gebruiken om resoluties uit mijn config.ini bestand te lezen.
Het config.ini bestand bestaat uit een aantal regels en op de eerste regel staat de resolutie,
bijvoorbeeld: resolution=4
Alles werkt, behalve als ik bijvoorbeeld resolution=4 in mijn .ini bestand verander voor resolution=3 hij het else gedeelte uitvoert. Het is alsof alleen het laatste if-statement wordt gecheckt en de if-statements die daarvoor komen worden overgeslagen.
hier is mijn code:
[CPP]
#include <iostream>
#include <vector>
#include <string>
#include <fstream>
int WIDTH;
int HEIGHT;
using namespace std;
int main(){
ifstream infile("config.ini");
if (!infile.is_open() || !infile.good()){
cout << "Fout met openen!";
return -1;
}
vector<string> alle_regels;
string huidige_regel = "";
while (getline(infile, huidige_regel)){
alle_regels.push_back(huidige_regel);
}
cout << "er zaten " << alle_regels.size() << " regels in het bestand. Namelijk:\n";
for (unsigned i = 0; i < alle_regels.size(); i++){
cout << alle_regels << "\n";
}
if(alle_regels[0] == "resolution=1")
{
WIDTH = 800;
HEIGHT = 600;
}
if(alle_regels[0] == "resolution=2")
{
WIDTH = 1024;
HEIGHT = 768;
}
if(alle_regels[0] == "resolution=3") // HD_READY
{
WIDTH = 1280;
HEIGHT = 720;
}
if(alle_regels[0] == "resolution=4")
{
WIDTH = 1280;
HEIGHT = 1024;
}
else
{
WIDTH = 800; // gebruik default resolution
HEIGHT = 600;
}
cout << endl;
cout << "De var WIDTH: " << WIDTH << endl;
cout << "De var HEIGHT: " << HEIGHT << endl;
cin.get();
return 0;
}
[/CPP]
Heeft iemand een idee waar dit aan kan liggen? Ik denk dat het aan het vectortype ligt.
En wat zou ik moeten veranderen zodat als ik bijvoorbeeld resolution=3 neerzet hij dit wel checkt?
Laatst bewerkt: