Skriv videre til en txt-fil, og "space" i string

Tags:    c++

<< < 123 > >>
Goddag,
jeg sidder med problemet i C++, at når jeg skriver til en txt-fil mere end én gang i samme program, så overskrives blot den første mængde data. Hvordan får jeg C++ til at skrive videre på txt-filen?
Et andet spørgsmål er, hvordan jeg kan få C++ til at ignorere, når jeg overfører nogle værdier med space/mellemrum til en string? Dvs. når jeg skriver en sætning, og ikke blot et ord?

Mvh. Clive



Det virker næsten perfekt nu! Jeg har ændret variablen 'st' til at være en integer i begge funktioner. Samtidig har jeg - som du selv sagde - valgt at sætte 'st' som betingelsen i if-sætningen, samt ændret '=' til '=='. Jeg kan uden problemer kompilere og køre programmet. Men såsnart det når til if-sætningen, får jeg flg. meddelse frem i et nyt vindue: "Run-Time Check Failure #3 - The variable 'st' is being used without being initialized."
Og uanset om 'st' bliver sat til 1 eller ej, får jeg blot meddelsen "Fejl" fra else if-sætningen udskrevet.
Jeg mente ellers at 'st' godt kunne være en integer. Men kan det være fordi, jeg bruger samme variabelnavn i begge funktioner?

Mvh. Clive




jeg bruger samme variabelnavn i begge funktioner


Det tyder på at det er to forskellige variable?

Må vi se noget kode?



Selvfølgelig:
Fold kodeboks ind/udKode 


Som sagt har jeg også ændret 'st' fra std::string st; - til int st; i nyKontakt funktionen.
Helt konkret får jeg fejlmeddelsen "Run-Time Check Failure #3 - The variable 'st' is being used without being initialized." i et nyt vindue, med valget mellem "Break" og "Continue". Og uanset om jeg i programmet trykker 1 for at se indholdet, eller noget andet, for at få fejlmeddelsen udskrevet, er det KUN fejlmeddelsen som kommer.

Mvh. Clive



Indlæg senest redigeret d. 27.03.2008 10:12 af Bruger #13404
Jeg har fået rettet mine fejl, således at fejlmeddelsen ikke opstår længere.
Uden at have for mange bolde i luften, skal jeg dog også have en menustyring i main, således at man kan taste 1 for at tilføje en person, 2 for at se data for personen mm.
Hertil har jeg fået oprettet et selvstændigt program, for at afprøve princippet.
Jeg har dog fået det problem, at programmet ikke gentager sig selv, indtil man taster 0. Dvs. programmet spørger om en ting, brugeren svarer igen med tallene 1-3. Sådan fortsætter det, indtil man taster 0. Jeg kan dog ikke få programmet til at gentage sig!
Fold kodeboks ind/udKode 


Mvh. Clive



Indlæg senest redigeret d. 27.03.2008 17:30 af Bruger #13404
Du må ikke initialisere en variabel 2 gange, som du gør der i både nyKontakt() og print()

Initialiser den over alle funktionerne
Et hurtigt eks:
Fold kodeboks ind/udKode 




Det der er vist "copy 'n Paste" kode...
Din while løkke indeholder kun den første linje, da du vidst har glemt {}

Hvis den der kode skulle løkkes vil det nok være noget i stil med
Fold kodeboks ind/udKode 




Ja, det var en kode jeg fandt i en C++ bog jeg har. Så jeg tænkte jeg kunne bruge den til mit projekt - selvfølgelig så den er tilpasset.
Jeg vil afprøve dit svar, hvilket jeg i øvrigt takker for.

Mvh. Clive



<< < 123 > >>
t