[WinAPI + string] Zamiana tekstu w std::ostringstream
Ostatnio zmodyfikowano 2013-11-02 14:51
maniek1310 Temat założony przez niniejszego użytkownika |
[WinAPI + string] Zamiana tekstu w std::ostringstream » 2013-11-02 12:36:23 Witam mam zmienną globalną std::ostringstream programy( std::ostringstream::ate ); i teraz chciałbym zrobić że jak checkbox jest odznaczony to usuwa dany fragment tekstu z tej zmiennej ale ciągle wyskakuje błąd main.cpp|304|error: request for member 'find' in 'std::basic_ostringstream<_CharT, _Traits, _Alloc>::str() const [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::basic_ostringstream<_CharT, _Traits, _Alloc>::__string_type = std::basic_string<char>]().std::basic_string<_CharT, _Traits, _Alloc>::c_str<char, std::char_traits<char>, std::allocator<char> >()', which is of non-class type 'const char*'|
main.cpp|307|error: request for member 'replace' in 'std::basic_ostringstream<_CharT, _Traits, _Alloc>::str() const [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::basic_ostringstream<_CharT, _Traits, _Alloc>::__string_type = std::basic_string<char>]().std::basic_string<_CharT, _Traits, _Alloc>::c_str<char, std::char_traits<char>, std::allocator<char> >()', which is of non-class type 'const char*'| A tutaj kod, w którym kompilator podaje że jest błąd : case ID_PROGRAM1: { string program1 = "firefox-"; if( bChecked == false ) { CheckDlgButton( hwnd, ID_PROGRAM1, BST_CHECKED ); programy << program1; } else { size_t n = 0; n = programy.str().c_str().find( "firefox-", 0 ); if( n != string::npos ) { programy.str().c_str().replace( n, program1.size(), "" ); } CheckDlgButton( hwnd, ID_PROGRAM1, BST_UNCHECKED ); } bChecked =( IsDlgButtonChecked( hwnd, ID_PROGRAM1 ) == BST_CHECKED ); break; } |
|
maniek1310 Temat założony przez niniejszego użytkownika |
» 2013-11-02 13:42:35 Albo może ktoś mi podpowie jak wyczyścić zmienną "programy". |
|
maniek1310 Temat założony przez niniejszego użytkownika |
» 2013-11-02 14:51:24 Trochę minęło zanim znalazłem, ale w końcu udało się. Jak by ktoś szukał to wystarczy użyć .str(""), przykład poniżej : programy.str( "" ); |
|
« 1 » |