Skocz do zawartości

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

n00bek

Sposób na polskie znaki - error

Polecane posty

EDIT:

Zamknąć/usunąć - temat nieważny! Znalazłem rozwiązanie w książce... :happy:

Mój dzisiejszy problem polega na tym, iż ten kod:

#include <iostream>
#include <conio.h>
using namespace std;

std::string PL(const char* text)
{
  std::string result;
  for(;*text;text++)
  switch(*text)
  {
    case 'ą': result += static_cast<char>(0xa5); break;
    case 'ć': result += static_cast<char>(0x86); break;
    case 'ę': result += static_cast<char>(0xa9); break;
    case 'ł': result += static_cast<char>(0x88); break;
    case 'ń': result += static_cast<char>(0xe4); break;
    case 'ó': result += static_cast<char>(0xa2); break;
    case 'ś': result += static_cast<char>(0x98); break;
    case 'ż': result += static_cast<char>(0xbe); break;
    case 'ź': result += static_cast<char>(0xab); break;
    case 'Ą': result += static_cast<char>(0xa4); break;
    case 'Ć': result += static_cast<char>(0x8f); break;
    case 'Ę': result += static_cast<char>(0xa8); break;
    case 'Ł': result += static_cast<char>(0x9d); break;
    case 'Ń': result += static_cast<char>(0xe3); break;
    case 'Ó': result += static_cast<char>(0xe0); break;
    case 'Ś': result += static_cast<char>(0x97); break;
    case 'Ż': result += static_cast<char>(0xbd); break;
    case 'Ź': result += static_cast<char>(0x8d); break;
    default: result += *text; break;
  }
  return result;
}

int main()
{
  cout<<PL("ąćęłńóśżźĄĆĘŁŃÓŚŻŹ")<<endl;
  getch();
  return 0;
}

który ma za zadanie wyświetlanie polskich znaków w programie, działa mi poprawnie tylko w środowisku Dev-C++, a w Microsoft Visual Studio 2008 Express Edition :icon_mrgreen: już nie. Przy próbie kompilacji jest pełno warnów (nimi się akurat zbytnio nie przejmuję :happy: ) i jeden error :sad: treści następującej:

error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion)

który tyczy się (wg. tego co mówi kompilator) tejże linijki programu:

  cout<<PL("ąćęłńóśżźĄĆĘŁŃÓŚŻŹ")<<endl;

ocb panowie..?* :blink:

Googlałem już w poszukiwaniu rozwiązania tegoż problemu i nic nie wyGooglałem... :unsure:

BTW Gdyby ktoś znał lepszy/łatwiejszy/szybszy sposób na uzyskanie polskich znaków w programach C++ na konsolę, to byłbym bardzo rad, gdyby podzielił się ze mną tą wiedzą w tymże topicu :happy:

*oraz panie oczywiście, jeśli są takowe, gotowe zaoferować swoją... pomoc :tongue:

Link do komentarza
Udostępnij na innych stronach

Gość
Temat jest zablokowany i nie można w nim pisać.


  • Kto przegląda   0 użytkowników

    • Brak zalogowanych użytkowników przeglądających tę stronę.
×
×
  • Utwórz nowe...