Advertisement Jump to content


This topic is now archived and is closed to further replies.


Internalization, locales, and dates

This topic is 6183 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm having trouble trying to print out the date using locales. Here's my code:
#include <iostream>
#include <time.h>
#include <locale>
#include <time.h>

using namespace std;

int main()
	tm *cur_time;
	time_t long_time;

	cur_time = localtime(&long_time);


	use_facet<time_put<char> >(cout.getloc()).put(cout, cout, cout.fill(), cur_time, 'c', '#');

	cout << endl;

	return 0;
Running this program prints nothing to the screen for me. Notice the 'c' and '#' format specifications on the third to last line? This is supposed to specifcy to print out a long date representation. If I take out the '#' completely, the short date version prints out fine (the '#' specifies I want the long date verison). However, if I put the '#' back in and I uncomment the //cout.imbue(locale("English")); line, then the long date prints out fine too! Any ideas on why I'm forced to manually set the locale for cout just to be able to print out the long date verision? - Houdini Edited by - Houdini on February 17, 2002 5:08:51 PM

Share this post

Link to post
Share on other sites
Ah, thanks for the heads up Oluseyi, I changed the header! However, it didn''t fix my problem.

But , doing so did give me the idea of trying a different STL implementation, so I recompiled with VC7''s STL instead of STLPort 4.5.3. It worked like a charm!

Looks like there''s a small bug in the latest STLPort release.

- Houdini

Share this post

Link to post
Share on other sites

  • Advertisement

Important Information

By using, you agree to our community Guidelines, Terms of Use, and Privacy Policy. is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!