Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2008-06-01 10:45:48

  Usnar - Członek DUG

Usnar
Członek DUG
Zarejestrowany: 2005-02-14

C++ kolory ASCII

Cześć.

Jak to zrobić w C++, żeby znaki ascii można było wyświetlać za pomocą cprintf. Bo znaki ascii doszedłem, że wyświetla je polecenie cout<<static_cast<char>(218); Niestety cout nie wyświetla znaków kolorowanych ani sformatowanych. Ma ktoś z Was gotowe rozwiązanie.

Offline

 

#2  2008-06-01 11:31:56

  milyges - inż.

milyges
inż.
Skąd: Gorlice/Kraków
Zarejestrowany: 2006-04-09
Serwis

Re: C++ kolory ASCII

Pod *nixami użyj sekwencji ANSII
np printf("\e[31mTekst czerwony\e[0m");

Lista kolorów: http://pueblo.sourceforge.net/doc/manual/ansi_color_codes.html


[url=http://mhroczny.net][b]strona domowa[/b][/url] || [url=http://dug.net.pl][b]polski portal debiana[/b][/url]

Offline

 

#3  2008-06-01 11:46:46

  owca - Członek DUG

owca
Członek DUG
Skąd: Szczerców
Zarejestrowany: 2007-01-30
Serwis

Re: C++ kolory ASCII

[quote=Usnar]Niestety cout nie wyświetla znaków kolorowanych ani sformatowanych.[/quote]

Kod:

include <iostream>

using namespace std;

int main()
{
  cout << "\033[1;31mCZERWONY\n";
  cout << "\033[32mZIELONY\n";

  cout << "\033[0mPrzywracamy normalny kolor/n";
}

http://www-128.ibm.com/developerworks/linux/library/l-tip-prompt/

Offline

 

#4  2008-06-01 12:19:10

  Lorenzo - Moderator

Lorenzo
Moderator
Zarejestrowany: 2005-12-23

Re: C++ kolory ASCII

Użyj tclap.

Offline

 

#5  2008-06-01 12:36:39

  Usnar - Członek DUG

Usnar
Członek DUG
Zarejestrowany: 2005-02-14

Re: C++ kolory ASCII

//nieważne// Znaczy sie, wiem jak zmienić kolor ale to działa tylko z cprintf(), natomiast mi chodzi o to jak za pomocą cprintf() wyświetlić znak ASCII, żeby np zrobić ramkę w konsoli. ///nieważne//


Ok nie zauważyłem odpowiedzi od Owca :). Ale nie działa mi to, nie wyświetla mi znaków w kolorach, zawsze na biało.
A czy nie znacie czasem sposobu na wyświetlenie ASCII przez cprintf()?

Ostatnio edytowany przez Usnar (2008-06-01 12:45:31)

Offline

 

#6  2008-06-01 12:56:21

  owca - Członek DUG

owca
Członek DUG
Skąd: Szczerców
Zarejestrowany: 2007-01-30
Serwis

Re: C++ kolory ASCII

[quote=Usnar]Ale nie działa mi to[/quote]
Moze dlatego, że przed include nie ma znaczka #. Powinno to wyglądać tak:
#include <iostream>
Czy Ty na pewno korzystasz z basha?

Offline

 

#7  2008-06-01 12:58:11

  Usnar - Członek DUG

Usnar
Członek DUG
Zarejestrowany: 2005-02-14

Re: C++ kolory ASCII

A właśnie korzystam z borland c++ na windzie. Na razie sie uczę c++ :)

Offline

 

#8  2008-06-01 14:52:58

  milyges - inż.

milyges
inż.
Skąd: Gorlice/Kraków
Zarejestrowany: 2006-04-09
Serwis

Re: C++ kolory ASCII

Znaki ASCII w cprintf (zakładam ze chcesz pokazać znak o kodzie  0x20):
cprintf("\x20");
To powinno pokazać spacje...
W ten sam sposób pokazujesz pozostałe znaki.

Owca: co ma bash do tego, sekwencje ANSII są interpretowane na poziomie sterownika terminala....

Ostatnio edytowany przez milyges (2008-06-01 14:53:35)


[url=http://mhroczny.net][b]strona domowa[/b][/url] || [url=http://dug.net.pl][b]polski portal debiana[/b][/url]

Offline

 

#9  2008-06-01 15:02:08

  owca - Członek DUG

owca
Członek DUG
Skąd: Szczerców
Zarejestrowany: 2007-01-30
Serwis

Re: C++ kolory ASCII

Biorąc pod uwagę to, że forum dotyczy dystrybucji GNU/Linuksa oraz że mamy kategorię na problemy z Windowsem, a Ty napisałeś w kategorii raczej linuksowej domniemałem że korzystasz właśnie z tego systemu oraz domyślnej powłoki. Windows to zuo  jeśli chodzi o programowanie. Dostarcza on nam dużej ilości marnej jakości programów dla programistów oraz ma domyślnie wybitnie cienką powłokę do ich uruchamiania i testowania.

[quote=milyges]Owca: co ma bash do tego, sekwencje ANSII są interpretowane na poziomie sterownika terminala....[/quote]
Możliwe że masz rację. Nie będę się kłócił.

Ostatnio edytowany przez owca (2008-06-01 15:04:23)

Offline

 

#10  2008-06-01 16:49:49

  Lorenzo - Moderator

Lorenzo
Moderator
Zarejestrowany: 2005-12-23

Re: C++ kolory ASCII

[quote=owca]Windows to zuo  jeśli chodzi o programowanie. Dostarcza on nam dużej ilości marnej jakości programów dla programistów oraz ma domyślnie wybitnie cienką powłokę do ich uruchamiania i testowania.[/quote]
W obu systemach masz do dyspozycji te same darmowe narzędzia, w windowsie masz dodatkowo pełno komercyjnych.

Offline

 

#11  2008-06-01 17:34:09

  owca - Członek DUG

owca
Członek DUG
Skąd: Szczerców
Zarejestrowany: 2007-01-30
Serwis

Re: C++ kolory ASCII

[quote=Lorenzo]W obu systemach masz do dyspozycji te same darmowe narzędzia, w windowsie masz dodatkowo pełno komercyjnych.[/quote]
Życzę powodzenia chociażby w wypisywaniu polskich znaków w programie napisanym pod windowsowy Wiersz Polecenia.
Nie ma co, ale komfort tworzenia aplikacji jest nieporównywalny. Chcesz stworzyć dodatek do środowiska graficznego - nie ma problemu, potrzebujesz na szybko dokumentacji - nie ma problemu, potrzebujesz na szybko jakąś bibliotekę - nie ma problemu, potrzebujesz algorytmu użytego w jakiejś funkcji programu (systemu) - nie ma problemu. Nie wiem jak Wam, ale mi na Linuksie się większość czynności wykonuje szybciej i przyjemniej. Jak by było odwrotnie to korzystał bym z Windowsa.

Offline

 

#12  2008-06-01 17:56:15

  Usnar - Członek DUG

Usnar
Członek DUG
Zarejestrowany: 2005-02-14

Re: C++ kolory ASCII

No może jest szybciej ale, pisze to na windowsie bo mgr z programowania kazał pisać w borland c++, A z drugiej strony to od kiedy "elektronika i programowanie" są raczej linuxowe?? Chyba coś przespałem :/
Ale dzięki za pomoc.



Czy czasem twoja miejscowość nie nazywa się Oszczerców :D

Ostatnio edytowany przez Usnar (2008-06-01 17:59:08)

Offline

 

#13  2008-06-01 18:44:22

  owca - Członek DUG

owca
Członek DUG
Skąd: Szczerców
Zarejestrowany: 2007-01-30
Serwis

Re: C++ kolory ASCII

[quote=Usnar]No może jest szybciej ale, pisze to na windowsie bo mgr z programowania kazał pisać w borland c++[/quote]
Nie uważasz za istotne że należało by o tym napisać? Forum o Linuksie, kolorowanie tekstu, więc pierwsze co przychodzi mi na myśl to programowanie w tym właśnie systemie z użyciem dostepnych na niego narzędzi.

[quote=Usnar]A z drugiej strony to od kiedy "elektronika i programowanie" są raczej linuxowe?? Chyba coś przespałem :/[/quote]
Od zawsze. To jest forum dotyczace Linuksa. Do pytań związanych z innymi systemami są dopowiednie działy. Jak nie będziesz wiedział jak w Paincie narysować kreskę to zapytasz o to w dziale Software? Podobnie jest z programowaniem: pytania odnośnie typowo windowsowych środowisk programistycznych jak i funkcji typowych dla Windowsa pytamy albo w dziale "tfu tfu" albo na innym forum (np. 4programmers.net).

[quote=Usnar]Czy czasem twoja miejscowość nie nazywa się Oszczerców :D[/quote]
A to niby w związku z czym?

Offline

 

#14  2008-06-01 20:20:34

  Lorenzo - Moderator

Lorenzo
Moderator
Zarejestrowany: 2005-12-23

Re: C++ kolory ASCII

Uspokujcie się!

Offline

 

#15  2008-06-02 02:43:47

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: C++ kolory ASCII

@owca pod win masz np. gawk, vim, grep i wiekszosc narzedzi shellowych w tym emulator terminala ktory pewnie pokolorowalby w oparciu o sekwencje escapowe (i to natywna kompilacje - bez cygwina)

@Usnar programowanie (zwlaszcza C) bylo od dawna bardziej zwiazane z swiatem posixowym niz z win (a to chocioazby z trgo powodu ze gdy powstawalo to win jeszcze nie bylo w planach ... mysle ze z czasem sie przekonasz ze linux jest pod wieloma wzgledami _wygodniejszym_  srodowiskiem dla programisty a nawet elektronika ...


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#16  2008-06-02 13:17:16

  Usnar - Członek DUG

Usnar
Członek DUG
Zarejestrowany: 2005-02-14

Re: C++ kolory ASCII

Jacie, no nie wytrzymam z wami. Po co mi tłumaczycie "oczywistą oczywistość". Odgryzłem sie tylko Owca bo próbuje sie wymądrzać, ledwie zainstalował Linuxa i już jedynie nieomylny :/ A na dodatek ząb mnie rozbolał.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.015 seconds, 17 queries executed ]

Informacje debugowania

Time (s) Query
0.00013 SET CHARSET latin2
0.00007 SET NAMES latin2
0.00110 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.147.36.106' WHERE u.id=1
0.00075 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.147.36.106', 1732497771)
0.00044 SELECT * FROM punbb_online WHERE logged<1732497471
0.00057 DELETE FROM punbb_online WHERE ident='18.117.154.134'
0.00071 DELETE FROM punbb_online WHERE ident='18.117.99.192'
0.00072 DELETE FROM punbb_online WHERE ident='18.119.108.233'
0.00069 DELETE FROM punbb_online WHERE ident='18.188.223.120'
0.00080 DELETE FROM punbb_online WHERE ident='18.191.9.9'
0.00078 DELETE FROM punbb_online WHERE ident='3.147.27.129'
0.00093 SELECT topic_id FROM punbb_posts WHERE id=91891
0.00099 SELECT id FROM punbb_posts WHERE topic_id=11557 ORDER BY posted
0.00076 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=11557 AND t.moved_to IS NULL
0.00018 SELECT search_for, replace_with FROM punbb_censoring
0.00138 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=11557 ORDER BY p.id LIMIT 0,25
0.00092 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=11557
Total query time: 0.01192 s