Avatar billede esquimal Nybegynder
29. marts 2001 - 11:31 Der er 3 kommentarer og
3 løsninger

C++ under Linux, printf mystik!!

Hej alle eksperter

Jeg sidder og programmerer lidt i c++  på Linux, men jeg har et problem med printf.
Det virker som om at den ikke vil skrive ud til skærmen nogen gange, hvis jeg f.eks. har brugt scandir til at liste et dir og godt lige vil noget til skærmen, f.eks. bare printf(\"Hejsa\"); så sker der ingenting, og det er ikke fordi den er gået i stå for hvis jeg tilføjer perror(\"Hejsa\") så outputter den \"Hejsa: Success\". Hvorfor kan perror godt skrive ud men ikke printf??

Lyder det totalt sort.... ;O)
Avatar billede beaviz Nybegynder
29. marts 2001 - 11:39 #1
console buffer, er ret spooky i linux, brug write til at skrive til STDOUT istedet for ...
Avatar billede peter_m Nybegynder
29. marts 2001 - 11:41 #2
Hvad med at gøre brug af cout
Avatar billede esquimal Nybegynder
29. marts 2001 - 11:45 #3
beaviz>>Kan du forklare lidt om hvad der går galt...??

peter>>tjooo...det var da en ide
Avatar billede esquimal Nybegynder
29. marts 2001 - 11:56 #4
Det kan godt være det er et dumt spørgsmål.....men hvordan er det lige jeg får write til at skrive til STDOUT?
Avatar billede roadkill Nybegynder
29. marts 2001 - 15:13 #5
Det er fordi output til STDOUT ikke flushes! Dvs., at der sagtens kan være skrevet til skærmen uden at du kan se det (specielt hvis du ikke afslutter med en newline \\n) - men skriv til STDERR (som perror gør), vil altid blive set med det samme (STDERR er autoflushing)

Brug enten

cerr << \"Hej med dig\" << endl;

eller

fprintf(STDERR,\"Hej\");

Den sidste er jeg ikke helt sikker på, dog...
Avatar billede esquimal Nybegynder
29. marts 2001 - 15:46 #6
Ok tak for svarene,, jeg kan sådan set bruge dem alle tre :O)
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