Tjena! Läs filen på samma sätt som du skriver den. Får det inte riktigt att fungera Menar du att jag skall skriva så här när jag hämtar Hs'en ? Får iaf fel. Sen finns det fördelar om man löser det på ett lite annat sätt; först läsa in till sträng, och sen skicka den strängen till en "CreateHighScoreFromString"-funktion, som i sin tur löser det med sstream etc. Det är jävligt jobbigt att behöva uppdatera "läsa in från fil" varje gång en liten förändring skulle behöva ske.räkna med string blir problem
Har nu påbörgat ett litet textbaserat spel projet. Har för övrigt kommit ganska långt men sjlvklart har jag nu fått problem som jag inte kan finna en lösning på.
Det är nämligen så att jag läser från en textfil ett highscore. Men får då den i string. Sen nr jag vill jömföra poängen man fått i den aktuella omgången (vilket råkar vara int) mes HS'en så blir det problem vilket jag kan förstå men inte se en lösning på.
Sitter ju nu på fel dator men detta är koden som jag anvnde för att lsa in HS'en#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main () {
string line;
ifstream myfile ("example.txt");
if (myfile.is_open())
{
while (! myfile.eof() )
{
getline (myfile,line);
cout << line << endl;
}
myfile.close();
}
else cout << "Unable to open file";
return 0;
}
Sv: räkna med string blir problem
dvs om skriver så här
int highscore;
std::ofstream hsfil("highscores.txt")
hsfil << highscore
hsfil.close()
så läser du så här:
int highscore
std::ofstream hsfil("highscores.txt")
hsfil >> highscore;
hsfil.close();Sv:räkna med string blir problem
int HSlocal ;
ofstream hsfil("highscore.txt") ;
if ((hsfil.is_open()))
{
hsfil >> HSlocal ;
hsfil.close();
}
else
cout << "Unable to open HSfile";
EDIT:
Hittade felet själv. Bytte...
ofstream hsfil("highscore.txt") ;
mot...
ifstream hsfil("highscore.txt") ;
Sv: räkna med string blir problem