jalemo Skrevet 10. desember 2003 Del Skrevet 10. desember 2003 Det finnes 3 standard FILE *streams i C, disse er STDIN(0), STDOUT(1) og STDERR(2). cin leser default fra STDIN(0), cout skriver default til STDOUT(1) og cerr skriver default til STDERR(2). Tallene i parentes representer fil-deskriptorene som operativsystemet bruker og C arver(tror ikke disse er definert i C, mulig jeg tar feil der). Jalemo Lenke til kommentar
Dead_Rabbit Skrevet 11. februar 2004 Del Skrevet 11. februar 2004 Jeg burde altså heller bruke cout << enn cerr << fordi cerr oppfattes av systemet som en feilmelding? Er det forresten mulig å ha flere kommandoer (eller hva jeg nå skal kalle det) i en IF? Sett at vi går ut fra dayslepers kalkuleringseksempel. Kan vi gjøre sånn at vi slipper starte programmet på nytt for å gjøre en ny utregning? Eller at vi f.eks. kan taste "tallbruk" for å få en oversikt over hvilke tall som var med i utregningen? Kan ikke svare deg på alt men... "Kan vi gjøre sånn at vi slipper starte programmet på nytt for å gjøre en ny utregning?" Der er det vel bare å bruke en while eller dowhile løkke? "Eller at vi f.eks. kan taste "tallbruk" for å få en oversikt over hvilke tall som var med i utregningen?" Kansje ikke dette du er ute etter, men man kan jo bare lisom gjøre sånn da: #include <iostream.h> main() { //utregning og alt det der cout << " Disse var med i utregningen " << Tall1 << Tall2 << Tall3 osv Er ikke sikker på om jeg har forstått deg riktig men... Lenke til kommentar
☀ ❄ Skrevet 12. februar 2004 Del Skrevet 12. februar 2004 I C++ er det fire standard filstrømmer: 1) cin 2) cout 3) cerr 4) clog Altså, input, output, error output og log-output. Sistnevnte fungerer som vanlig cout, med mindre noe annet er spesifisert (kan altså, hvis jeg ikke tar feil, brukes til å implementere loggføring). Eneste forskjellen på cout og cerr er operator<<() for sistnevnte kaller flush() -- altså, skriver bufferen til skjermen. Bruk av std::cerr for å slippe å flush'e std::cout er latskap, lite tydelig, dårlig "programming practise" og kan føre til bugs. Det gjør dessuten at output tar mye lenger tid hvis mye blir skrevet til skjermen. (Det tar like mye lenger tid uansett hvor mye som blir skrevet til skjermen, men det er mest merkbart hvis det er mye). Lenke til kommentar
A_N_K Skrevet 12. februar 2004 Del Skrevet 12. februar 2004 (endret) cout skriver til standard ut (tilsvarer filen stdout i C), cerr skriver til stanrdard error (stderr i C), mens clog er en bufret utgave av cerr (med logging har umiddelbar output liten betydning). Standard error og standard ut oppfører seg likt, bortsett fra at de kan skilles, f.eks i shell. Det er ofte en fordel å rette de to mot ulike filer, f.eks kan man rette standard error mot en loggfil (kommando 2> loggfil), hvis man skulle ønske en oversikt over feil. Edit: Så jalemos innlegg som sier stort sett det samme, dette bør være relativt klart? Endret 12. februar 2004 av A_N_K Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå