|
Hello,
I have created an application which takes information entered via the GUI and puts this info into a file. I then wish to populate a .doc with this information.
Is anyone aware of a way to do this?
Thank you,
Mark
|
|
|
|
|
|
Hello,
I'm printing out doubles in c++, but not all the values have significant digits. Thus I'd like to accomplish the following using cout:
1.) If value is 90.00, then display it as 90 (no trailing zeros)
2.) If value is 99999999999999.0, then display it as 99999999999999 (not in scientific form)
3.) If value is 9.85545, then display it as 9.85545 (no precision loss)
Is there a combination of simultaneous ios flags that can be used with a single cout statement to accomplish the above 3 goals?
Thanks,
|
|
|
|
|
Use precision(streamsize) to set the max number of significant digits to show, and leave the format for the default/set it to the default if you have changed it.
|
|
|
|
|
Thanks for replying, but this suggestion will not prevent trailing zeros in the case of 90.00 unless I set the precision to zero, but then none of the floating point numbers would have any digits printed to the right of the decimal point.
For example, 9.85545 would no longer be printed as "9.88545" if precision is set to zero. And, if any precision is set other than zero, then integer values will show trailing zeros.
|
|
|
|
|
Wrong (I just tested). There are no trailing 0's with the default flags, and it will not use scientific as long as the number of digits does not exceed the value you set precision for. Default: showpoint unset, scientific unset, and fixed unset.
#include <iostream>
int main() {
std::cout.precision(14);
std::cout << 90.00 << std::endl;
std::cout << 99999999999999.0 << std::endl;
std::cout << 9.85545 << std::endl;
return 0;
}
The above code produces the output you desire.
To reset the appropriate flags to the default use the following:
std::cout.unsetf(ios::showpoint);
std::cout.unsetf(ios::scientific);
std::cout.unsetf(ios::fixed); modified on Thursday, March 4, 2010 10:23 PM
|
|
|
|
|
The reset part doesn't seem to work.
You can do this instead.
std::streamsize ss = std::cout.precision(14);
std::cout.precision(ss);
|
|
|
|
|
The reset is for the flags, not the precision. If they are at the default values, then two of the three problems he posted will be solved. Then once percision is set to a suitably large value, all three of his requirements will be met.
That my original suggestion did not work for him, I assume the flags have been changed somewhere as it works for me; therefore I included code on how to fix them to the correct values.modified on Thursday, March 4, 2010 10:54 PM
|
|
|
|
|
Gwenio,
I just tried your suggestion, and my output now looks exactly as you described. Thanks for your help!
|
|
|
|
|
Hi,
Just a quick question on how this conversion from local time to UTC / GMT works in the "gmtime" function. I created a tm object called m_timeinfo as you can see below. I adjusted the month from January to June but it keeps on printing the time as 14:00:00 no matter what month. I would expect that it would print 15:00:00 for January and the same for June. Have I missed a flag or something?
Thanks for any input.
<br />
tm m_timeinfo;<br />
m_timeinfo.tm_mday = 1;<br />
m_timeinfo.tm_mon = 2 - 1;
m_timeinfo.tm_year = 2010 - 1900;
m_timeinfo.tm_hour = 15;<br />
m_timeinfo.tm_min = 00;<br />
m_timeinfo.tm_sec = 00;<br />
<br />
<br />
tm * ptm = &m_timeinfo;<br />
<br />
<br />
time_t useme = mktime ( ptm );<br />
time_t * usemeptr = &useme;<br />
<br />
tm * result = gmtime ( usemeptr );<br />
<br />
std::cout << "year is " << result->tm_year + 1900 << std::endl;<br />
std::cout << "month is " << result->tm_mon + 1 << std::endl;<br />
std::cout << "day is " << result->tm_mday << std::endl;<br />
std::cout << "hour is " << result->tm_hour << std::endl;<br />
std::cout << "min is " << result->tm_min << std::endl;<br />
std::cout << "sec is " << result->tm_sec << std::endl;<br />
<br />
|
|
|
|
|
You need to correctly set the tm_isdst field - the daylight savings time option.
mktime, _mktime64[^]
|
|
|
|
|
|
I am figuring out how to present single chars from integer value, that can be only from 65-122(ASCII). I randomly get int value and now i would like to change that int to char, so lets say for int value 65 output would be 'A'. With itoa(int value, buffer, 10) where buffer is char*[30] i get result from buffer in numbers. What can be used to convert this?
Thanks
|
|
|
|
|
It could be:
int i(65);
char c = char(i);
...or even:
int i(65);
WCHAR wc = WCHAR(i);
Check your definition of Irrationality[ ^]
1 - Avicenna
5 - Hubbard
3 - Own definition
|
|
|
|
|
In addition to what Eugen said, you can do this -
char buffer[30];
sprintf_s(buffer, 30, "%c", int_value);
|
|
|
|
|
Casting would be the simple way of doing it.
In C, casting looks like this:
(char)x
In C++, you can do the above or use static_cast which is the preferred method:
static_cast<char>(x)
This is uglier and takes more text, but it is safer (more type checking at compile time) and it is good to make a habit of it.
Once you cast the int to a char, it will be treated as a char for all operations. Of course, it will be converted implicitly when assigning it to a char and casting will not be needed.modified on Thursday, March 4, 2010 10:51 PM
|
|
|
|
|
Hi
How can we LoadIcon form file#sanroop#
|
|
|
|
|
You could use the LoadImage[^] function Check your definition of Irrationality[ ^]
1 - Avicenna
5 - Hubbard
3 - Own definition
|
|
|
|
|
Not sure whether it's called like this. But here's what I intend to do is:
I have an application that embeds mozilla's gecko to display html with support for css and javascript. Inside the html, there maybe some hyperlinks or forms that needs to <b>dynamically</b> generate new html content. Instead of sending a request to a remote server to handle the request. I want to handle the request within the application. So I have to embed a local server in the application to do the job. Is it right or there's a better way? Are there such code project or some references for this kind of design?
Many thanks~
|
|
|
|
|
you should be able to intercept navigation events (link clicks, etc.). and when you get one of those events, just create and display your new content.
i'm not sure exactly how you do that with Gecko, but it's trivially easy with IE.
|
|
|
|
|
Thanks for the suggestion. I used 'webconnect', a third party library fo wxWidgets, which harnesses Gecko to render the contents. I'll check its document or code to see if it's possible to intercept the click or submit events.
Actually, I thought of embedding a IE browser engine, which can use the ActiveX control in javascript to execute external 'exe'(kind of as cgi) to generate new content. But that would make most of the work writting javascript for possible links. So I wonder if there's a way to combine the client and server together. Thus I only need to make the click or submit links point to a localhost url to handle the request locally.
|
|
|
|
|
whenever i've done this kind of thing, i've created a new pseudo-protocol for the links i need to handle. instead of: <a href="site/the_link.htm?param1¶m2">, i'd do something like <a href="INTERNALCMD:the_link,param1,param2"> . that way, when you catch the navigation event, you just search the link target for "INTERNALCMD:". if you find it, create the new page and display it, otherwise just ignore the event.
it's much less work than trying to write a web server.
|
|
|
|
|
I once (ok, twice) implemented a web server that was fairly cheesey. For one thing, I wrote the server myself which was probably a bad idea (it was 1997! Though we still use it.) But the parser on the server cheated and looked for special tags that I made up which would then be replaced by status info, graphs, blinky lights... I still like it. You can look at all the status of the instrument from a web browser! (Hey that was a big deal in '97!) You could even control it remotely if you knew the secrets.
Not sure I'm helping the discussion, just reminiscing. It was a bare bones server, and hopefully not easily hackable. I'm sure it was never worth anyone's time to try; maybe I should try to hack it. He said, "Boy I'm just old and lonely,
But thank you for your concern,
Here's wishing you a Happy New Year."
I wished him one back in return.
|
|
|
|
|
wow, is it publicly available? I just searched GNU's libmicrohttpd to see whether it fits my situation.
|
|
|
|
|