Zapisanie znaków konsolowych do txt

Odpowiedz Nowy wątek
2019-05-26 01:06
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

Pozostało 580 znaków

2019-05-26 01:26
0

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


Pozostało 580 znaków

2019-05-26 01:40
0

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


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...
Chyba wymaga BOM dla utf8. Edit, ale czekaj, to nie utf8, nvm - kq 2019-05-26 03:26

Pozostało 580 znaków

2019-05-26 02:20
0

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


Każdy programista przybywający z innego miasta jest fachowcem.

Pozostało 580 znaków

2019-05-26 11:20
1
Silv napisał(a):

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

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;
}

Pozostało 580 znaków

2019-05-26 11:27
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

Zrób screen i wydrukuj xd - Dregorio 2019-05-26 12:05
Nie może być screen z konsoli bo w konsoli nie ma polskich znaków - zyrox 2019-05-26 12:10

Pozostało 580 znaków

2019-05-26 18:13
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.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0