Avatar billede emileej Nybegynder
06. oktober 2001 - 10:00 Der er 4 kommentarer og
1 løsning

LogError

void EEJLogError(char errorStr){
    fstream errorLog;
    errorLog.open(\"ErrorLog.txt\", ios::out);
    errorLog << errorStr << \'\\n\';
    errorLog.close();
}
Avatar billede emileej Nybegynder
06. oktober 2001 - 10:03 #1
Hmmm - den vlev sendt før jeg fik skrevet noget???! Anyways - jeg kalder funktionen med en int som parameter, og forventer at tallet bliver skrevet i ErrorLog.txt. Det gør det bare ikke - i stedet bliver der outputtet en \'boks\' i filen...

E-)mil
http://eej.dk
http://fotx.net/emileej
Avatar billede emileej Nybegynder
06. oktober 2001 - 10:36 #2
Jeg fandt selv ud af det :)

int a=3;
char c=\'0\'+a;

:P
E-)mil
Avatar billede henrik_ffc Nybegynder
06. oktober 2001 - 15:25 #3
På denne måde kan du kun gemme tallene 0 til 9.
Hvis du istedet ændrer første linie af funktionen fra
void EEJLogError(char errorStr){
til
void EEJLogError(int errorStr){
kan du overføre en int som parameter og dermed gemme alle heltal
i logfilen.
Avatar billede emileej Nybegynder
06. oktober 2001 - 17:35 #4
Jepz, men nu er det såddan at jeg kun har fejlkoder fra 0-9, og jeg har desuden fixet funktionen op til, at gemme hele strenge :)
Ellers mange tak for forslaget =)

E-)mil
Avatar billede soepro Nybegynder
08. oktober 2001 - 09:17 #5
eller du kunne benytte dig af pamaeterlister:

void EEJLogError(char errorStr, ...)
{
  va_list vars;
  char    errorText[257];

  vars = va_start(errorStr);
  vsprintf(errorText, errorStr, vars);
  va_end(errorStr);

  fstream errorLog;
  errorLog.open(\"ErrorLog.txt\", ios::out);
  errorLog << errorText << \'\\n\';
  errorLog.close();
};

Hermed vil dit kald set rette sig ind efter hvad du har behov for:

EEJLogError(\"Bare en simpel fejl\");
EEJLogError(\"Fejl nr. %d opstod\", (int)fejlnummer);
EEJLogError(\"Fejl i %s under læsning af %s - Fejlkode %d.\", (char *)procedure, (char *)filnavn, (int)fejlnummer);

(type-casten er ikke nødvendig - blot til illustration af parameternes typer.)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester