Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[WinAPI + string] Zamiana tekstu w std::ostringstream

Ostatnio zmodyfikowano 2013-11-02 14:51
Autor Wiadomość
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 :
C/C++
case ID_PROGRAM1:
{
    string program1 = "firefox-";
    if( bChecked == false )
    {
        CheckDlgButton( hwnd, ID_PROGRAM1, BST_CHECKED );
        programy << program1;
        //cout << programy.str().c_str() << endl;
    } 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;
}
P-95070
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".
P-95074
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( "" );
P-95083
« 1 »
  Strona 1 z 1