473,406 Members | 2,707 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,406 software developers and data experts.

cout

How to make cout not printing on the console. i mean

void main()
{

cout<<"Hello world"<<endl;
}
Is there any way where i can block printing on console even when iam
cout in my code..I mean even using cout<<"Hello world"<<endl;.
This is shouldnt get printed on console..

regards

Jul 23 '05 #1
10 3473

"Gurikar" <ms*******@gmail.com> wrote in message
news:11**********************@g49g2000cwa.googlegr oups.com...
How to make cout not printing on the console. i mean

void main()
int main()
{

cout<<"Hello world"<<endl;
}
Is there any way where i can block printing on console even when iam
cout in my code..I mean even using cout<<"Hello world"<<endl;.
This is shouldnt get printed on console..

regards


If you prefer not to print to the console, then don't print to the console.
The string "Hello world" is a literal. Its not a variable. To store the
literal string, use it to initialize a std::string variable.

#include <iostream>
#include <string>

int main()
{
std::string s("Just a string.\n");
s += "Just another string.\n";

// std::cout<< s << std::endl;

return 0;
}

Homework:
Whats a variable?
Whats a literal string?
Why is void main() not allowed?

Jul 23 '05 #2
ben
What's wrong of printing straight from string literal? The user just wants
to ask how to redirect cout to somewhere else.

So the answer is to use std::ios::rdbuf() function. A google search would
give plausible many examples :)

ben
If you prefer not to print to the console, then don't print to the console. The string "Hello world" is a literal. Its not a variable. To store the
literal string, use it to initialize a std::string variable.

Jul 23 '05 #3
Gurikar on 2005-05-12 09:10 spammed:
How to make cout not printing on the console. i mean

cout.rdbuf(other_buffer);

--
SirMike
the code is my strength
http://www.sirmike.grudziadz.com
Jul 23 '05 #4

"ben" <be******@hotmail.com> wrote in message
news:42**********************@news.optusnet.com.au ...
What's wrong of printing straight from string literal? The user just wants
to ask how to redirect cout to somewhere else.

So the answer is to use std::ios::rdbuf() function. A google search would
give plausible many examples :)

ben


Ben,

please place your responses either at the bottom of the post, or
interspersed with the text you're commenting on. Putting your comments at
the top is referred to as "top posting", and is frowned upon in usenet,
because it disrupts the normal order of reading (from top to bottom).

Thanks,
Howard


Jul 23 '05 #5

"ben" <be******@hotmail.com> wrote in message
news:42**********************@news.optusnet.com.au ...
What's wrong of printing straight from string literal? The user just wants
to ask how to redirect cout to somewhere else.

So the answer is to use std::ios::rdbuf() function. A google search would
give plausible many examples :)

ben


Nothing wrong with printing from a literal and you have graciously offered
ios::rdbuf() in the case the OP is indeed trying to redirect std::cout.
In my opinion, thats not the case here. But thats just a guess.
Lets see what the feedback says...

Thanks for the input.
Jul 23 '05 #6
>How to make cout not printing on the console.

Where do you want it to output character?
i mean

void main()
main() returns an int, always.

int main(){
cout<<"Hello world"<<endl;
}
I'll just rewrite that example to make sure you
start correctly.

# include <iostream>

int main()
{
std::cout << "Hello world" << std::endl;
}
Is there any way where i can block printing on
console even when iam cout in my code..I mean even
using cout<<"Hello world"<<endl;. This is
shouldnt get printed on console..


Where should it get printed? If it's another
stream, many have pointed the std::ios::rdbuf()
solution. If it's to another graphical mean such a a
graphical window or whatever, you will have to use
operating-system-dependent functions.

If you want to completely "block printing on
console", do something like

# include <iostream>

template <
class char_t,
class traits = std::char_traits<char_t> >
class null_outbuf
: public std::basic_streambuf<char_t, traits>
{
protected:
virtual int_type overflow(int_type c)
{
// noop
return traits::not_eof(c);
}
};

int main()
{
null_outbuf<char> no;

std::cout << "hello";

std::streambuf *old = std::cout.rdbuf(&no);
std::cout << "this is not printed";
std::cout.rdbuf(old);

std::cout << "I'm back";
}
--
Jonathan
[FAQ] - http://www.parashift.com/c++-faq-lite/

Jul 23 '05 #7
HI,
Actually i want print log information on console. So i use cout,
incase if i dont want log, i dont want to change the code, so i just
want cout not print on the console without changing any code. Its
something like this:

void log(char* str)
{
cout<<str<<endl;
}
int main()
{

bool b = true;

if(b)
{
log("Log is on");
}
log("hello");
log("world");
....
....
...
....
log("End");
}

So when bool b = true, it prints on console, now when bool b = false, i
dont want print it on console, how do i do this? I dont want change the
code of calling log eveywhere. something like i want make cout = NULL
when bool b = false. Is this possible.
One more question, what happends i use cout many times in windows based
application(console not present). Does it affect performance.
Regards
Jonathan Mcdougall wrote:
How to make cout not printing on the console.


Where do you want it to output character?
i mean

void main()


main() returns an int, always.

int main()
{
cout<<"Hello world"<<endl;
}


I'll just rewrite that example to make sure you
start correctly.

# include <iostream>

int main()
{
std::cout << "Hello world" << std::endl;
}
Is there any way where i can block printing on
console even when iam cout in my code..I mean even
using cout<<"Hello world"<<endl;. This is
shouldnt get printed on console..


Where should it get printed? If it's another
stream, many have pointed the std::ios::rdbuf()
solution. If it's to another graphical mean such a a
graphical window or whatever, you will have to use
operating-system-dependent functions.

If you want to completely "block printing on
console", do something like

# include <iostream>

template <
class char_t,
class traits = std::char_traits<char_t> >
class null_outbuf
: public std::basic_streambuf<char_t, traits>
{
protected:
virtual int_type overflow(int_type c)
{
// noop
return traits::not_eof(c);
}
};

int main()
{
null_outbuf<char> no;

std::cout << "hello";

std::streambuf *old = std::cout.rdbuf(&no);
std::cout << "this is not printed";
std::cout.rdbuf(old);

std::cout << "I'm back";
}
--
Jonathan
[FAQ] - http://www.parashift.com/c++-faq-lite/


Jul 23 '05 #8
"Gurikar" <ms*******@gmail.com> wrote in message news:11**********************@f14g2000cwb.googlegr oups.com...
HI,
Actually i want print log information on console. So i use cout,
incase if i dont want log, i dont want to change the code, so i just
want cout not print on the console without changing any code. Its
something like this:

[...]


#include <iostream>

class logger
{
public:
bool on;

template<typename T>
logger& operator << (T t)
{
if (on) std::cout << t; // else do nothing
return *this;
}
};

int main()
{
logger log;

log.on = true;
log << "should display to cout";

log.on = false;
log << "should not display";

return 0;
}

HTH,

--
Lionel B

Jul 23 '05 #9
"Lionel B" <me@privacy.net> wrote in message news:42***********************@news.sunsite.dk...
"Gurikar" <ms*******@gmail.com> wrote in message news:11**********************@f14g2000cwb.googlegr oups.com...
HI,
Actually i want print log information on console. So i use cout,
incase if i dont want log, i dont want to change the code, so i just
want cout not print on the console without changing any code. Its
something like this:

[...]
#include <iostream>

class logger
{
public:
bool on;

template<typename T>
logger& operator << (T t)


That should probably be:

template<typename T>
logger& operator << (const T& t)
{
if (on) std::cout << t; // else do nothing
return *this;
}
};

int main()
{
logger log;

log.on = true;
log << "should display to cout";

log.on = false;
log << "should not display";

return 0;
}

HTH,

--
Lionel B

Jul 23 '05 #10
Hi,

The answer to second part of the question...about cout's performance
issue...
...yes...writing too much on console causes a performace degradation.
You can check this by having a mechanism of enabling and disabling all
the couts in your program....oooops another problem!!....suggest to use
compiler macros for doing this.

-vs_p...

Jul 23 '05 #11

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

19
by: qazmlp | last post by:
I hope comp.lang.c will not find the following question as a complete off-topic. I would like to remove ie.comment out the 'cout' statements during compilation(actually preprocessing) time. ...
6
by: Omid | last post by:
Hi. I have problems when I try to redirect everything that is sent to cout to a file. I have one piece of code that works and one that does not work. The only difference is which headers I use....
5
by: Mastupristi | last post by:
I want to obtain the c++ equivalent of: unsigned short us = 347; printf("0x%04hX",us); that outputs "0x015B" I ried with: cout.setf(ios_base::hex,ios_base::basefield);
7
by: Joe C | last post by:
I'd like to have better control of text output to the console. I'm using Windows and have a little (non-standard) function to help me out: #include <windows.h> void locate(int x, int y ) {...
16
by: mrDumbass | last post by:
#include <iostream> #include <algorithm> #include <string> #include <fstream> using namespace std; /* i would like to keep the numbers of the output : Power , step etc, on the same place...
2
by: Generic Usenet Account | last post by:
What exactly is the difference between the hex manipulator and the following statement: cout.setf(ios_base::hex)? According to Stroustrup, Third Edition, Section 21.4.4, "once set, a base is...
5
by: Peteroid | last post by:
I'm doing a managed C++ application. Is there a way to re-direct 'cout' to output destinations other than the 'black console' that comes up? Specifically, re-direction to a text file? Thanks in...
3
by: shk253 | last post by:
Hi all - I'm trying to generate a payroll. I'm having trouble with the cout statements overwriting the previous inputs, e.g. enter info for employe 1: blah blah blah. Enter info for employee 2: blah...
58
by: Mark Casternoff | last post by:
I'm getting back into C++ after a long hiatus (they didn't have namespaces back then). I know this question is completely subjective, but I'd be interested in hearing which is the "better"...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.