Commandline String in Int umwandeln
-
Hallo,
ich bin grad total verzweifelt, seit stunden versuche ich den string
den ich über m_lpCmdLine an meine mfc anwendung übergebe
in einen integer wert umzuwandeln, doch leider ohne erfolg =(((int MyInt = 1234; if ( m_lpCmdLine != NULL ) { CString TmpStr(m_lpCmdLine); std::string valueAsString( TmpStr); //hier meckert der compiler std::istringstream in( valueAsString ); in >> MyInt; }.....cpp(140): error C2664: 'std::basic_string<_Elem,_Traits,_Ax>::basic_string(const std::basic_string<_Elem,_Traits,_Ax>::_Alloc &)': Konvertierung des Parameters 1 von 'CString' in 'const std::basic_string<_Elem,_Traits,_Ax>::_Alloc &' nicht möglich
with
[
_Elem=char,
_Traits=std::char_traits<char>,
_Ax=std::allocator<char>
]
and
[
_Elem=char,
_Traits=std::char_traits<char>,
_Ax=std::allocator<char>
]hüüüülfe

-
Warum nicht
std::string sCommandLine(m_lpCmdLine);???
oder wenn du unbedingt CString drin haben willst ...
CString my_string(m_lpCmdLine); std::string sCommandLine(my_string.GetBuffer());...
-
oh danke für die schnelle antwort,
aber das funktioniert leider auch nicht.
int MyInt = 1234; if ( m_lpCmdLine != NULL ) { std::string sCommandLine(m_lpCmdLine);//hier meckert der compiler std::istringstream in( sCommandLine ); in >> MyInt; }.....cpp(141): error C2664: 'std::basic_string<_Elem,_Traits,_Ax>::basic_string(const std::basic_string<_Elem,_Traits,_Ax>::_Alloc &)': Konvertierung des Parameters 1 von 'LPTSTR' in 'const std::basic_string<_Elem,_Traits,_Ax>::_Alloc &' nicht möglich
with
[
_Elem=char,
_Traits=std::char_traits<char>,
_Ax=std::allocator<char>
]
and
[
_Elem=char,
_Traits=std::char_traits<char>,
_Ax=std::allocator<char>
]und
int MyInt = 1234; if ( m_lpCmdLine != NULL ) { CString my_string(m_lpCmdLine); std::string sCommandLine(my_string.GetBuffer()); //hier meckert der compiler std::istringstream in( sCommandLine ); in >> MyInt; }......cpp(142): error C2664: 'std::basic_string<_Elem,_Traits,_Ax>::basic_string(const std::basic_string<_Elem,_Traits,_Ax>::_Alloc &)': Konvertierung des Parameters 1 von 'ATL::CSimpleStringT<BaseType>::PXSTR' in 'const std::basic_string<_Elem,_Traits,_Ax>::_Alloc &' nicht möglich
with
[
_Elem=char,
_Traits=std::char_traits<char>,
_Ax=std::allocator<char>
]
and
[
BaseType=TCHAR
]
and
[
_Elem=char,
_Traits=std::char_traits<char>,
_Ax=std::allocator<char>
]
-
Wahrscheinlich hast Du ein Unicode Projekt. In diesem Fall musst Du std::wstring verwenden!
-
huhu,
auch das hilft leider nicht =((int MyInt = 1234; if ( m_lpCmdLine != NULL ) { CString my_string(m_lpCmdLine); std::wstring sCommandLine(my_string.GetBuffer()); //hier meckert der compiler std::istringstream in( sCommandLine ); in >> MyInt; }.....cpp(143): error C2664: 'std::basic_istringstream<_Elem,_Traits,_Alloc>::basic_istringstream(std::_Iosb<_Dummy>::openmode)': Konvertierung des Parameters 1 von 'std::wstring' in 'std::_Iosb<_Dummy>::openmode' nicht möglich
with
[
_Elem=char,
_Traits=std::char_traits<char>,
_Alloc=std::allocator<char>,
_Dummy=int
]
and
[
_Dummy=int
]hach und das kauderwelsch der fehlermeldungen bringt zumindestens mich
auch kein stück weiter
-
hmm sicher das der da meckert ... normal nicht ^^ muss nähmlich std::wistringstream heißen wenn de UNICODE an hast ...
-
OH MEIN GOTT
danke danke danke es funktioniert,
komm her und lass dich abknutschen
geschlagene 5 stunden sitz ich da nun schon dran
*volldollfroi*
einen schönes restwochenende wünsch ich dir =))))