Hej, Jag har börjat på en C++ kurs i skolan, (Jag har bara varit på en lektion så jag är nybörjare). Men så undrar jag om man kan ha en databas, typ som en variabel men att den inte försvinner när man stänger av programmet? Det borde ju gå, det är ju rätt många spel som är gjorda i C++ och där kan man ju spara..
Ett smidigt sätt är att använda t.ex. INI-filer. Finns massor med färdiga lättanvända funktioner för det. Eller så kan du spara data i Windows register. T.ex. programinställningar. Men som Sodjan sa, helt vanlig file I/O är nog rätt ställe att starta på. Finns MASSOR med information på nätet om läsning och skrivning av filer.
char Statistic_File[MAX_PATH]; // Name of the file
...
När namnet ska fastställas:
// Set statistic file name with the extension of ".TXT"
sprintf(Statistic_File , _argv[0]);
sprintf(strrchr(Statistic_File ,'.') + 1,"txt");
Nu innehåller 'Statistic_File' samma path och namn som programmet heter men med ".TXT" som extension mot ".EXE" för programmet
...
När data ska sparas:
DWORD Did_Write;
HANDLE Stat_File = CreateFile(Statistic_File,GENERIC_WRITE,FILE_SHARE_READ,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
if(Stat_File != INVALID_HANDLE_VALUE)
{
// SetFilePointer(Stat_File,0,0,FILE_END); // Move to the end of the file in order to append, ONLY USED WHEN APPENDING TO A FILE!!!!
WriteFile(Stat_File,&Buffer,strlen(Buffer),&Did_Write,0);
CloseHandle(Stat_File);
}
Sedan .... din signatur....
Heter du verkligen Danile? Är det inte Daniel?
Senast redigerad av Icecap 25 augusti 2007, 16:00:17, redigerad totalt 1 gång.
"Sedan .... din signatur....
Heter du verkligen Danile? Är det inte Daniel?" Går lite snabbt ibland när jag skriver den, så lite då och då slinter jag på tangenterna så blir det fel..
Ditt sett värkar också vara intresant.. Jag får se vilket jag tar.
Sen.. Vad menas med "string line;"?? Jag tror att "line" är en variabel, med vad för variabel blir det??
'string' är väl en ANSIstring? Använder den aldrig själv då jag pillar så lite som möjligt på ANSIstring.
Om vi antar att 'Buffer' är en variabelsamling kan man spara på sättet jag visar, att hämta det sedan är lika enkelt, största skillnad är att man använder 'ReadFile' istället för 'WriteFile'.
Du kan i övrigt ta bort raden med 'SetFilePointer' då det inte behövs till din användning, faktisk blir det fel om du använder det när du sparar inställningar.
Nu har jag gjort en liten kod som kan (ska) visa 5st komponenter i en lista med antal (Som den hämtar från en .txt fil).
Men.. När jag ska bygga den klagar den på något.. Den sätter markeringen på raden där det står "case '2':" och skriver medelandet "jump to case label".. Vad är fel??
Sen undrar jag om man verkligen ska behöva göra en "char variabel grupp"
for varje ord!?
En stor fördel med en mysql och andra databaser är att det finns mycket som är redan färdigt som hade varit jobbigt att skriva en egen hanterare till. Den är antagligen mer effektiv att ta fram datan än vad du själv hade gjort.
Jag har läst igenom de nu, det verkar vara exakt vad jag behöver
Men jag förstår inte riktigt.. Det SQLite som du länkade till, är det ett program som mitt program ska komunisera med på nått vis, eller är det en kod som jag ska lägga in i mitt program??
> Det SQLite som du länkade till, är det ett program som mitt program ska komunisera med på nått vis, eller är det en kod som jag ska lägga in i mitt program??
Från deras hemsida :
"SQLite is a small C library that implements a self-contained, embeddable,..."