05. april 2011 - 14:16Der er
7 kommentarer og 1 løsning
Bruge fil som variabel i C++ ?
Jeg har fået en god idé, til et lille program. Jeg skriver det i C++, da det skal kunne køre på både linux og windows maskiner (måske Mac også med tiden..)
Det er et lille beregner program, som skal gemme den beregnede værdi, så den kan bruges næste gang, programmet køres.. Jeg tænker, det vil gøres bedst, hvis man gemmer den beregnede værdi i en fil... Tiladelserne til filen skal være som følger: 755 så det kun er programmet der kan lave ændringer i filen.. (håber i forstår hvad jeg mener...)
Så det jeg har brug for hjælp til er:
1. Hvordan kan man kode sit program til at gemme den beregnede værdi i et tekst fil eller lign.
2. Når programmet starter op igen skal den automatisk "hente" værdien i filen og sætte den ind i variabel så man kan arbejde videre på den. og så gemme den beregnede værdi i filen igen/overskrive den gamle værdi når man er "færdi"
3. Jeg vil gerne kunne trække en værdi fra den værdi der er i filen og skrive et lille notat til hvad det er blevet brugt til fx: Samlet værdi = 5000 udbetal(indtast) = fx. 100 Brugt til: Betaling af usb pen...
Notatet og det "beløb" der er brugt skal så gemmes i en anden fil som også har tilladelserne 755
Der er self en del andre funktioner men deler det lige op :) og skal siges at det bliver som udgangspunkt tekstbaseret uden GUI....
Du læser fra en fil ved at oprette et std::ifstream objekt, derpå kan du læse fra den som du læser fra cin. På samme måde skriver du til en fil ved at oprette et std::ofstream objekt og skriver til filen på samme måde som med cout.
C++ håndterer ikke rigtigt "tilladelser" så som 755, det giver vist heller ikke rigtigt mening på Windows.
Ok tak - jeg kigger lige på det... det burde ikke være et problem hvis jeg skriver en variabel med cout? og hvad når jeg skal gemme indholdet af filen i en variabel så jeg kan arbejde videre på den?
hmm øv.. ville ellers gerne sikre mig at det kun var programmet der kunne foretage ændringer..
Det er vist ikke nogle enkle måder at sikre at det kun er programmet der kan ændre i filen. Du kan evt. sikre den med noget kryptering...
Et lille eksempel på læsning og skrivning til fil: #include <iostream> #include <fstream> using namespace std; int main () { ifstream inFile("test.dat"); int n = 0; inFile >> n; inFile.close(); n++; cout << n << endl; ofstream outFile("test.dat"); outFile << n; outFile.close(); }
chmod eksisterer baade paa Linux og Windows - forskellen er kun at paa Linux skal man include sys/stat.h mens man paa Windows skal inkludere io.h - 755 giver saa ikke mening paa Windows men chmod(fnm, S_IREAD | S_IWRITE) virker.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.