unix c에서 해당 x,y 위치에 값을 찍을수 있나요?

hbsnow의 이미지

unix c에서 해당 x,y 위치에 글자를 찍을수 있나요?

monpetit의 이미지

hbsnow wrote:
unix c에서 해당 x,y 위치에 글자를 찍을수 있나요?

터미날이나 콘솔을 말씀하시는 건가요?
ncurses library 레퍼런스를 보세요.
hbsnow의 이미지

네..
printf 같은 함수로 해당 위치에 문자를 출력할수 있는지?

moonzoo의 이미지

printf와 비슷한 mvprintw 를 사용합니다.

int mvprintw(int y, int x, char *fmt, ...);

앞 부분에 int y , int x가 추가된 것이 printf와 다른 부분이고요..

curses.h(unix..) 이나 ncurses.h(linux..)를 include하시고 사용하시면

됩니다.

간단한 예제 입니다.

#include <curses.h>
#include <stdio.h>


int main()
{
    int x;
    int y;

    initscr();

    x = 5; y =10;
    mvprintw(y,x,"this is test");
    refresh();

    endwin();

    return 0;
}

unix 경우 컴파일시 -lcurses 를 추가하세여

eureka78의 이미지

글쎄.. 저만 그런지는 모르겠지만...

후배가 게시판을 재미삼아 만들어 보다가 당했던 문제인데요...

글쓰기 모드(ncurses 라이브러리 사용)로 들어갔다가 빠져나오게 되면

이상하게도 그 다음라인 부터는 stdout 을 잡아먹어버립니다(?)

즉, ncurses 라이브러리로 구현한 서브함수가 호출된 직후에 실행되는

printf()들은 stdout으로 보여주질 못하더군요..(stderr 모드는 이상없음)

임시방편으로 fcloseall()로 해결해 주긴 했는데,(모든 stream을 비워버림)

ncurses 자체 버그인지 아닌지는 저도 잘..... :(

암튼.. ncurses라이브러리 조심해서 쓰세요 v,.v

monpetit의 이미지

eureka78 wrote:
글쓰기 모드(ncurses 라이브러리 사용)로 들어갔다가 빠져나오게 되면

이상하게도 그 다음라인 부터는 stdout 을 잡아먹어버립니다(?)


혹시 endwin()으로 curses 모드를 닫아주는 걸 깜박하신 건 아닌가요...
eureka78의 이미지

Quote:
혹시 endwin()으로 curses 모드를 닫아주는 걸 깜박하신 건 아닌가요...

저도 그럴꺼라고 생각했습니다만, 확인해본결과 endwin()이 아주 굳게 빗장을 걸어잠궈 놓았더라구요 :)

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.