HOME > 게시판 > 초보자용게시판
게시판| 초보자용게시판
※ 게시판 용도에 맞지 않는 글(광고및 홍보 글 등)은 임의삭제될 수 있습니다.

 
작성일 : 08-08-06 11:05
코딩한거 질문좀 할려고요.
 글쓴이 : 달팽이
조회 : 2,048  

리눅스를 접한지 얼마안된 초보입니다.

다름이 아니라 read,open,write와 tty를 공부하다 코딩을 해봤는데 원하는 결과값이 안 나와서 이렇게 글을 올립니다.

제가 이해한 read, open, write는

open : 지정된 파일명을 옵션에 맞춰 파일열기.

read : 연 파일을 변수에 읽어오기.

write : 변수에 저장된 내용을 연 파일에 쓰기.

이렇게 이해를 하고 다음과 같은 코딩을 해봤습니다.

#include
#include
#include
#include
#include
#include

void print();

int main(void)
{
  int fd;
  char buff[BUFSIZ];
  fd = open("/dev/tty0", O_WRONLY);
  memset(buff, 0x00, BUFSIZ);
  printf("command : ");
  gets(buff);
  write(fd, buff, BUFSIZ);
  close(fd);
  print();
  return 0;
}

void print()
{
  int fd;
  char buff[BUFSIZ];
  fd = open("/dev/tty0", O_RDONLY);
  memset(buff, 0x00, BUFSIZ);
  read(fd, buff, BUFSIZ);
  printf("OUT : %s\n", buff);
  close(fd);
}

이 전에 open할 때 "test.txt"와 "test"로 해보고 이렇게 코딩을 해봤습니다.

이 전 코딩에선 

Hello Linux!!

OUT : Hello Linux!!

라고 제 생각데로 나오는데  tty0으로 바꿔 실행해보면

Hello Linux!!

OUT : □

이런 결과값이 나옵니다.

http://www.joinc.co.kr/modules/moniwiki/wiki.php/article/terminal

이 페이지를 참고로 tty0으로 바꿔 실행해 봤습니다만.....

제가 이해를 잘못한건가요?

아니면 비슷하게 한건데 코딩에 무언가를 추가를 해야되나요?

제가 알기로는 "/dev/tty0"을 지정해서 사용해야 되는것 같은데 아닌가요?

다른 파일명으로하면 자동으로 처리가 되는건가요?

새로운것을 접할려고 하니 좀 힘드네요.

좋은 답변 부탁드립니다.

좋은 하루 되세요.


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기