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

std::wstring operator +

Ostatnio zmodyfikowano 2012-11-05 20:00
Autor Wiadomość
anonim
Temat założony przez niniejszego użytkownika
std::wstring operator +
» 2012-11-05 18:46:09
Cześć.
C/C++
std::wstring kopiuj( unsigned int pos1, unsigned int pos2, std::wstring string )
{
    std::wstring retString;
    for( unsigned int i = 0; i < pos2; i++ )
    {
        if( i >= pos1 )
        {
            retString = retString + string[ i ];
        }
    }
    return retString;
}
Jak zastąpić operator plus, którego chyba w klasie std::wstring nie ma?


//DOWN sorry starą wersję wkleiłem
P-68565
jsc
» 2012-11-05 18:48:26
sf::String czy std::String? Bo to chyba 2 różne rzeczy.
P-68566
m4tx
» 2012-11-05 18:56:33
Jak zastąpić operator plus, którego chyba w klasie std::wstring nie ma?
Nie ma? :)
http://en.cppreference.com/w/cpp/string/basic_string

C/C++
retString = retString + string[ i ];
To można by zamienić na:
C/C++
retString += string[ i ];

Jeszcze na potwierdzenie mojej racji:
C/C++
#include <iostream>
#include <string>

using namespace std;

int main() {
    std::wstring wtf( L"omg" );
    std::wstring omg = wtf + L"lol";
    wcout << omg << endl;
   
    return 0;
}

m4tx@m4tx-EP35-DS4:~/Pulpit$ g++ -o wtf wtf.cpp
m4tx@m4tx-EP35-DS4:~/Pulpit$ ./wtf
omglol
P-68567
anonim
Temat założony przez niniejszego użytkownika
» 2012-11-05 19:02:43
A mi taki błąd wywala:

Translator.cpp|22|error: no match for ‘operator+’ in ‘retString + string.std::basic_string<_CharT, _Traits, _Alloc>::operator[]<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >(i)’|

ok już sprawa załatwiona
Mam jeszcze jedno pytanko - jak wyświetlić sf::String na konsoli? Bo tak nie idzie:
std::cout << sfString.GetText();
P-68568
m4tx
» 2012-11-05 19:18:59
Mam jeszcze jedno pytanko - jak wyświetlić sf::String na konsoli? Bo tak nie idzie:
1 temat == 1 problem. sf::String nie wyświetlisz, bo sf::String nie jest przeznaczony do wyświetlania w konsoli (i w ogóle WTF? po co?) :)
P-68569
Admixior
» 2012-11-05 20:00:08
Nie możesz bo GetText zwraca klase Unicode::Text która nie ma takiego operatora<< do wyświetlania. Ale można zauważyć że ma funkcje operator std::string () const czyli możesz (a przynajmniej powinieneś móc) zrobić std::cout<<(std::string)cos.GetText();
P-68572
« 1 »
  Strona 1 z 1