Curiosity, learning and homework help
24/05/2022
Language: FR | ENG

Discussion forums

[Visual Studio] [C++] printf does not display instantly
You have to be logged in to reply
Author Message
ExaSec56

Member
Posted on 01/12/2021 at 14:12:57

by ExaSec56
Member
Hello

I have another question. I am trying to make a print in my C++ code.
When I use
printf("My text \n");

the print is done at the end of the execution of the program.
However, when I use
std::cout << "My text" << std::endl;

What is the difference between using printf and cout?
Is it possible to use printf and get an instant print?
TheLibrarian

**Moderator**
Posted on 01/12/2021 at 14:43:09

by TheLibrarian
**Moderator**
Actually, when you use printf which comes from C language, the print is done at the end of execution because stdout is buffered. If you want to print instantly, you can specify it by adding an instruction to release stdout from the buffer as follows
printf("My text \n");
fflush(stdout);

In that case, it will work as well as std::cout.

However, C++ gives us std::cout. Why don't you use it instead of using a C function in a C++ code?
--------------------------
ExaSec56

Member
Posted on 02/12/2021 at 03:35:01

by ExaSec56
Member
Yes, I should use cout. It is just that I am used to write C codes and so I usually use C functions that I know.
I will try to take more advantage of the abilities of C++ instead of still coding in C language while writing a C++ code. 😄

Thank you.
You have to be logged in to reply