Strona 1 z 1

Czym zastąpić clrscr() w C?

: 17 sie 2009, 00:34
autor: Chmiela2121
Witam.
Od niedawna uczę się programowania w C i zrodziło mi się pewne pytanie. Mianowicie chiałbym wyczyścić ekran, ale nie mogę użyć funkcji clrscr(); ponieważ jest ona zapisana w bibliotece conio.h, której nie ma pod linuksem. W takim razie, co jest i w jakiej bibliotece?:)

Odp: Czym zastąpić clrscr() w C?

: 17 sie 2009, 00:47
autor: kklimonda
Jeśli potrzebujesz jedynie wyczyścić ekran to to ci wystarczyć powinno:
printf(" \033[2J");
Jeśli potrzebujesz innych funkcji z conio.h to będziesz musiał skorzystać z biblioteki ncurses albo readline (nie są to jednak odpowiedniki 1:1 conio.h)

Odp: Czym zastąpić clrscr() w C?

: 17 sie 2009, 15:57
autor: Chmiela2121
Dziękuję za pomoc :)

A czy możesz mi wyjaśnić dlaczego akurat "\033[2J"? Wiem, że \033 to znak ESC, ale jaki to ma związek?

Odp: Czym zastąpić clrscr() w C?

: 17 sie 2009, 20:12
autor: el.pescado
A czy możesz mi wyjaśnić dlaczego akurat "\033[2J"? Wiem, że \033 to znak ESC, ale jaki to ma związek?
ESC rozpoczyna tzw. sekwencje kontrolne - ciągi znaków, które są wysyłane do terminala i które mają specjalne znaczenie - powodują np. czyszczenie ekranu, zmianę koloru liter etc.

Odp: Czym zastąpić clrscr() w C?

: 17 sie 2009, 21:08
autor: Chmiela2121
Dziękuję, doczytam już sobie :) Tylko zastanawiam się, czy programowanie w C nie byłoby lepsze dla mnie gdybym zaczął od robienia tego na Windowsie... No ale to już inna bajka. Za pomoc raz jeszcze dziękuję.

Odp: Czym zastąpić clrscr() w C?

: 17 sie 2009, 21:44
autor: el.pescado
Tylko zastanawiam się, czy programowanie w C nie byłoby lepsze dla mnie gdybym zaczął od robienia tego na Windowsie... No ale to już inna bajka.
Dla mnie Linux zapewnia dużo lepsze środowisko do programowania w C. Jest jakby dużo bardziej uporządkowany. Do wszystkiego jest dostęp z konsoli, wiadomo gdzie szukać bibliotek, plików nagłówkowych, jest podręcznik systemowy pod ręką itd.

Odp: Czym zastąpić clrscr() w C?

: 17 sie 2009, 21:59
autor: Chmiela2121
A czy w kontekście studiów system operacyjny robi jakąś różnicę? I jeśli tak, to czy Linux nadal jest dobrym wyborem? Bo ja mam lekkie obawy w związku z tym, że może i tak finalnie będę musiał skończyć na Windowsie.

Odp: Czym zastąpić clrscr() w C?

: 17 sie 2009, 22:25
autor: luzakwielki
Chmiela2121 pisze:A czy w kontekście studiów system operacyjny robi jakąś różnicę? I jeśli tak, to czy Linux nadal jest dobrym wyborem? Bo ja mam lekkie obawy w związku z tym, że może i tak finalnie będę musiał skończyć na Windowsie.
Na linuksie masz wiele narzędzi takich jak valgrind których w windowsie nie znajdziesz i bardzo będzie Ci ich brakowało.
W kontekście studiów to zależy od tego jakich studiów i od wykładowcy - ja nie miałem żadnych problemów z pisaniem pod linuxem z użyciem eclipse, ale nawet jak na zajęciach będziesz musiał korzystać z windowsa i ms visual c++ (co dziwne w wypadku nauki C, bo visual c++ nie jest do końca zgodny z C... no ale to kompilator C++, a nie C ;]), to żaden problem w domu korzystać z tego co chcesz - język się nie zmienia, a to, że będziesz wpisywał kod w inne okienko nie powinno robić, żadnego problemu.

Odp: Czym zastąpić clrscr() w C?

: 17 sie 2009, 22:53
autor: el.pescado
A czy w kontekście studiów system operacyjny robi jakąś różnicę? I jeśli tak, to czy Linux nadal jest dobrym wyborem? Bo ja mam lekkie obawy w związku z tym, że może i tak finalnie będę musiał skończyć na Windowsie.
Śmiem twierdzić że nie robi różnicy. Z drugiej strony, Linuksa i tak trzeba raczej znać.

Odp: Czym zastąpić clrscr() w C?

: 18 sie 2009, 09:56
autor: Chmiela2121
No to czuję się uspokojony w tej kwestii ;) Dziękuję za pomoc i informacje, do usłyszenia.

Odp: Czym zastąpić clrscr() w C?

: 24 sie 2009, 09:58
autor: noisy
pierwszy raz zacząłem używać Visuala jako IDE dopiero w pierwszej pracy. Wcześniej programowałem zarówno pod windowsem jak i linuksem ale bardziej z wykorzystaniem crossplatformowych rozwiązań...

ostatecznie skończyłem na windowsie lecz widzę codziennie że rzeczy których się nauczyłem na linuksie...procentują! :)