|
Hi All,
Is there any function in (standard) c++ that convert integer value to std:string object?
Such as,
...
int n = 123;
string str_n = itos(n);
...
or some efficient way?
Thanks!
Yonggoo
|
|
|
|
|
I would use
str_n.Format ("%d", n)
|
|
|
|
|
lucy wrote: I would use
str_n.Format ("%d", n)
CString needed, not string
|
|
|
|
|
lucy wrote: str_n.Format ("%d", n)
I think that std::string has not such Format method. Maybe you're writing about CString , Aren't you?
By the way, I think the OP can use a stringstream object, for instance:
std::stringstream ss;
std::string s;
ss << 5;
ss >> s;
But I don't know how efficient this way is.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
I think you use of CString
|
|
|
|
|
|
How can a 2-digit exponential notation be generated in a printf?
The following code:
sprintf(str, "%.10e ", value);
is producing different results for one of my users:
6.385698e-01
or
6.3856980000e-001
????
I'm thinking it's some kind of system difference, like Regional Settings or possibly different run-time libraries, although we distribute the MFC libs with our app. This user is in Japan.
I use VC++ 6.0 and everytime I run the program on my machine I get the 3-digit-exponential-notation (6.3856980000e-001).
|
|
|
|
|
Hi,
I'm maintaining an MFC ISAPI dll, and need to:- access the HINSTANCE of the dll to be able to:
- get the full path of the dll through GetModuleFileName, to be able to:
- register the dll to be able to add Event Log messages.
I've tried accessing theApp.m_hInstance, but it's NULL. I've also tried calling AfxGetInstanceHandle( ), which also returns NULL. I've tried adding the AFX_MANAGE_STATE( AfxGetStaticModuleState( ) ) to the top of the function which tries to locate the HINSTANCE, but to no avail. Since this is an MFC ISAPI extension, I don't have access to the DllMain function, otherwise I would probably just store it in a global variable...
Any ideas?
Regards,
Daníel
Wenn ist das Nunstück git und Slotermeyer? Ja! Beierhund das oder die Flipperwaldt gersput!
|
|
|
|
|
Does GetModuleHandle() help?
|
|
|
|
|
N.B. You can pass a NULL to get information on the current module - this is how code in an EXE can get the location of the EXE. I do not know if you call that from within the DLL if you will get the path of the DLL or the hosting EXE, but it might work...
Can you store the HINSTANCE passed to DllMain(...) ? If not, you may be able to use GetModuleHandle(...) to get the DLL's instance (HINSTANCE and HMODULE for a DLL are basically the same and can be interchanged in most cases).
Peace!
-=- James Please rate this message - let me know if I helped or not!<HR> If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! See DeleteFXPFiles
|
|
|
|
|
James R. Twine wrote: N.B. You can pass a NULL to get information on the current module - this is how code in an EXE can get the location of the EXE. I do not know if you call that from within the DLL if you will get the path of the DLL or the hosting EXE, but it might work...
If GetModuleHandle(NULL) is called from a DLL the HMODULE of the hosting EXE is returned.
Steve
|
|
|
|
|
Well, that answers my question about not knowing which would be returned...
Peace!
-=- James Please rate this message - let me know if I helped or not!<HR> If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! See DeleteFXPFiles
|
|
|
|
|
Here's a function that will return the HINSTANCE of the module it's compiled into:
HINSTANCE GetMyModuleHINSTANCE()
{
MEMORY_BASIC_INFORMATION mbi;
DWORD res = VirtualQuery(&GetMyModuleHINSTANCE, &mbi, sizeof(mbi));
if (res!=sizeof(MEMORY_BASIC_INFORMATION))
{
return NULL;
}
return reinterpret_cast<HINSTANCE>(mbi.AllocationBase);
}
Note that there are better ways of doing this, depending on what framework you're using or if you've got access to DLLMain if you're a DLL or WinMain if you're an EXE. This code works without having to make any such assumptions however.
Steve
|
|
|
|
|
I have function
int lib(unsigned char *buf, unsigned short int **data)
//returining value of data
data[i][j] = ((buf[index]<<8) | buf[index+1]);
Now I am passing buffer(which contains some values) from the same above function like that.
unsigned short int actual_data[10][10];
if ((rval= lib(buffer, actual_data)) == -1)
It gives segments fail error ..plz guide me ..i think some prb with actual_data argument..
Thanks
|
|
|
|
|
you have to pass the matrix dimensions as function parameters too, otherwise, how can the function know where to stop ?
the segmentation error is a very classic error of a buffer overflow (you're writing over the end of your array)
[edit]What's wrong with this answer mister the "anonymous 1-voter" ??? can't you even justify your vote ? [/edit]
|
|
|
|
|
thx..but still same error ...Actually I want to pass pointer to 2d array..
if ((rval= lib(buffer, actual_data[10][10])) == -1)
|
|
|
|
|
did you tried to understand my reply ?
how is the pointer used then within the lib() function ?
you have to find where the buffer is overflown, and fix this !
|
|
|
|
|
How to do connection of VC++ with the database MS-SQL
Gorsia
|
|
|
|
|
There are scores of Database related articles for C++ here on CodeProject... take a look at them.
led mike
|
|
|
|
|
hi
I have seen programs that bind a DataGrid to an ADO Data Control.
But i want to know, how can i display the fields in Edit Controls.
Is there some way to bind the Edit control to the DataSource(ADO Control).
thx Slipnit
|
|
|
|
|
slipnit wrote: Is there some way to bind the Edit control to the DataSource(ADO Control).
This is the MFC/C++ forum. MFC classes and IDE wizards produce entire data input forms for you based on a database connection which includes using RFX (Record Field Exchange) macros to transfer data between user controls and your data source (data binding). There are mountains of information and examples on msdn.microsoft.com and of course in articles here on CodeProject.
led mike
|
|
|
|
|
hi
thx.its using RFX macros.
thx slipnit
|
|
|
|
|
|
Alright, I feel stupid. In VC6, radio button groups were handled through a single integer value. I can't find anything similar in VS2005. When I try to add a variable for a radio button, it insists on using a bool/BOOL value instead of an integer. What am I doing wrong?
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|
|
John Simmons / outlaw programmer wrote: What am I doing wrong?
Um, using VS2005?
Peace!
-=- James Please rate this message - let me know if I helped or not!<HR> If you think it costs a lot to do it right, just wait until you find out how much it costs to do it wrong! Avoid driving a vehicle taller than you and remember that Professional Driver on Closed Course does not mean your Dumb Ass on a Public Road! See DeleteFXPFiles
|
|
|
|