Zapisanie znaków konsolowych do txt

Zapisanie znaków konsolowych do txt
ZY
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8
0

Siemka,
Mam napisany program, który losuje drabinki walk na zawodach sportowych. Znalazłem na necie kod dzięki któremu wynik bardzo ładnie prezentuje się w konsoli:
title

Potrzebuję dokładnie taki sam schemat zapisać do pliku .txt. Niestety kończy się to tak:
title

Domyślam się, że chodzi o inne kodowanie konsoli (Qt Creator) oraz notatnika.
Jak osiagnąć zamierzony efekt?

Z góry dzięki :D

Silv
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
0

A jak w kodzie wygląda wyświetlanie poszczególnych znaków? Na przykład tych kresek?

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

Ale co to za "notatnik"? Bo ten domyślny windowsowy to chyba nie bardzo wspiera jakieś inne kodowania ;]

gk1982
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Łódź
  • Postów: 541
0

W notepad++ możesz zmienić na zestaw znaków OEM 852.

ZY
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8
1
Silv napisał(a):

A jak w kodzie wygląda wyświetlanie poszczególnych znaków? Na przykład tych kresek?

Kopiuj
void Drabinka::printplik(string sp, string sn,Drabinka *v, string plik_z)
{

  string s;
  string cr,cl,cp;

  cr = cl = cp = "  ";
    cr[0] = 218; cr[1] = 196;
    cl[0] = 192; cl[1] = 196;
    cp[0] = 179;

    ofstream plik;
    plik.open(plik_z.c_str(),ios::app);
    if(plik.good())
    {

  if(v)
  {
    s = sp;
    if(sn == cr) s[s.length() - 2] = ' ';
    printplik(s + cp, cr, v->one,plik_z);

    s = s.substr(0,sp.length()-2);
    plik << s << sn;

    if(v->baza!=NULL)
        plik<<v->baza->imie<<'\t'<<'\t'<<v->baza->dojo;
    else
       plik<<"0";

    plik<<'\n';

    s = sp;
    if(sn == cl) s[s.length() - 2] = ' ';
    printplik(s + cp, cl, v->zero,plik_z);
  }
    }

return;
}
ZY
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8
0

Źle zadałem pytanie. Chodzi mi generalnie o to, żeby zapisać wyniki losowania do pliku, żeby wyglądało faktycznie jak drabinki i żeby była możliwość wydrukowania na kartkę papieru. To wcale nie musi być notatnik ani plik .txt.
Nie wiem nawet za bardzo jak się zabrać za to bo jestem zielony w temacie, nakierujcie mnie w dobrą stronę :D

MY
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1107
0

@zyrox kodowanie w konsoli cmd Windowsa jest inne niż używasz w takim notatniku. CMD używa kodowania CP852. Problem jest taki, że znaki o które Ci chodzi pochodzą z rozszerzonego zestawu ASCII, czyli w każdym kodowaniu mogę być inne. O ile dobrze kojarzę, to w Win1250 znaczków za pomocą których rysujesz ramki.... nie ma :) Żeby temu zaradzić przejdź na Unicode i zapisuj pliki tekstowe w tym formacie.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.