Converting from CString to String and char array string needed to yield the same string type
Posted on 2005-03-06
I have converted a couple of char array to string like this:
std::string a((char*) username_in);
std::string b((char*) password_in); //this part compiled fine
I have convereted a couple of CString to String like this:
DDX_CBString(pDX, IDC_Username, L_username);
DDX_CBString(pDX, IDC_Password, L_password);
std::string p1((LPCTSTR)L_password); //this part compiled fine
But when I try to do a string compare like this:
int sameU = strcmp(a,u1);
int sameP = strcmp(b,p1);
it gives me the error that the two types i'm trying to pass into the strcmp are not the same.
I'm confused because I thought i had changed both of the types to strings so that i can compare them.
So there is probably something wrong with my conversion but I'm not sure what...
This is the error I'm getting:
error C2664: 'strcmp' : 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