|
Following is what I am doing...
string str1="true";
string str2="false";
bool str;
I want to assign the values to str by taking 'true' or false' from str1 or str2. When I do..
str=str1; or str=str2;
this does not work and shows an error. Is there any other alternative to this.
THANKS
|
|
|
|
|
string str1="true";
string str2="false";
bool b;
b = str1 == "true" ? true : false;
b = str1 == "true";
[added]
modified according to Jijo Ray [^] observation.
[/added]
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.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
if you can....
do this:
if(str1=="true")<br />
str=1;<br />
if(str2=="false")<br />
str=0;<br />
Mukesh Kumar
Software Engineer
|
|
|
|
|
on doing that I get the following.
error C2664: '__thiscall std::basic_string<char,struct std::char_traits<char="">,class std::allocator<char> >::std::basic_string<char,struct std::char_traits<char="">,class std::allocator<char> >(const cla
ss std::allocator<char> &)' : cannot convert parameter 1 from 'bool' to 'const class std::allocator<char> &'
Reason: cannot convert from 'bool' to 'const class std::allocator<char>'
No constructor could take the source type, or constructor overload resolution was ambiguous
I get the same even if I do the way Pallini said.
|
|
|
|
|
I got it correct. THANKS..
|
|
|
|
|
Thank God
Mukesh Kumar
Software Engineer
|
|
|
|
|
A bit more tuned one.
string str1="true";
string str2="false";
bool str;
str = str1 == "true";
Thanks & Regards,
Jijo.
________________________________
http://weseetips.com - Visual C++ technical tips.
|
|
|
|
|
Jijo raj wrote: // The == operator already return bool.
Good point, you're right.
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.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
Thanks Pallini.
_____________________________________________________
http://weseetips.com[ ^] Visual C++ tips and tricks. Updated daily.
|
|
|
|
|
like this:
|\ /| 2
| \ / |
| V |
|
|
|
|
|
not really sure I know what you're asking ...
a 'string' is just a sequence of characters - to display/render that string as output you could use a RTF text control or similar - then you might either be able to display a superscript character if there's any char-sets that support it, or use font-size properties, ie a big-font and a little font
you could look at something like http://www.codeproject.com/KB/static/xhtmlstatic.aspx[^]
for example, in which case your string is
"M<SUP> 2 </SUP > "
just had another thought, again, it depends on what you're doing with this string of characters. But you could use "M^2" where the understanding is that '^' means to the power of ..
'g'
|
|
|
|
|
Can I encode it in a CString object?
|
|
|
|
|
Like this: "m²" ?
Use charmap.exe to get the superscript "2".
|
|
|
|
|
Yes, can't encode it in a CString object?
I tried to copy m² to my program, it doesn't work, coz the source file is not unicode, and the project's compilation option is for string is MBCS .
|
|
|
|
|
OK, try this:
CString str = _T("m\xB2");
Edit: I just realised that this only works for CP1252 locale (English, German, French, etc.).
modified on Saturday, May 24, 2008 7:03 AM
|
|
|
|
|
Thanks very much.
It's done, my app is unicode.
|
|
|
|
|
|
I have two strings and I do the following...
string old_path;
string new_path;
rename(old_path_newpath)
Doing this I get the following error. How do I overcome this error.
error C2664: 'rename' : cannot convert parameter 1 from 'class std::basic_string<char,struct std::char_traits<char="">,class std::allocator<char> >' to 'const char *'
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
</char></char,struct>
THANKS
|
|
|
|
|
try :-
rename(old_path.c_str(), new_path.c_str() );
notice the c_str() - that effectively gives you a const char * from the string
Im presuming rename(old_path_newpath) was a typo ..
'g'
|
|
|
|
|
Except this error you can use of SHFileOperation instead rename.
|
|
|
|
|
if he cant figure out how to use a relatively simple API like rename(), do you honestly think he's going to be able to figure out SHFileOperation ?
I dont think so ...
(even I use a wrapper class around SHFileOperation to make it simpler)
'g'
|
|
|
|
|
No my answer was genraly SHFileOperation is better than rename not for solve problem.
|
|
|
|
|
I have both VC++ 3.0 and 5.0.
When I compiled a program wit 6.0 it asked for "MMSYSTEM.LIB".
Does VC++ 6.0 have a "MMSYSTEM.LIB" file? VC++ 3.0 does have the file but it is only for 15 bit applications.
Bob Macklin
Seattle, Wa.
|
|
|
|
|
|