리눅스 read함수를 사용한 입력 받기 오류 질문

글쓴이: 익명 사용자 / 작성시간: 화, 2020/01/14 - 1:36오후
안녕하세요
리눅스를 이용해서 app을 작동시키는데 그app에서 콘솔을 이용해 입력을 받을려고 read함수를 사용하였습니다.
그런데 read함수를 사용하면 입력값을 집어넣을때 'GH' 후에 키보드 입력을 받게하였는데
이상하게 절반은 GH가 나오는데 절반은 / # 이나옵니다
Printf 찍어서 값을 보니 제가원하는 변수에 순서대로 13579 번째 값은 저장되는데
2468은 / # 에 찍히는데 혹시 이러한 오류가나오는 이유를 알수있을까요 ?
Forums:
글 올리신 걸로 봐선 무슨 말씀 하는지 모르겠습니다.
글 올리신 걸로 봐선 무슨 말씀 하는지 모르겠습니다.
GH후에 키보드 입력 받게 했다는 말이 무슨말인지요..
GH123abcd 를 입력시 GH빼고 123abcd를 읽는다는 말씀인가요?
내용
gh는 무시하셔도되요
콘솔 처음 시작할때 GH 뒤에 글자를쓰게 만들었는데
이상하게 # / 가 나오고 GH도 섞어서 나오네요
소스를 볼수 없으니 알 수는 없으나... 추축컨데
소스를 볼수 없으니 알 수는 없으나... 추축컨데
read()사용시 버퍼에 잘못 넣으신거 같아 보입니다.
질문
그리고 결정적으로 콘솔창에서 문자 입력서 렉걸리는것처럼 느려집니다.
이해가안될것같아서 캡처했습니다.
이해가안될것같아서 캡처했습니다.
gconsole.wTempReadSize = read
gconsole.wTempReadSize = read(0, &gconsole.bTempReadBuff[0], 1);
if( gconsole.wTempReadSize > 0 ) { c = (char) gconsole.bTempReadBuff[0]; }
else { return; }
if(c == KEYDEFS_CR)
원하는거 실행 인데
이상하게 캡처된것처럼 # / 나오네요 .
#include<stdio.h>
동일하게 해봤는데 이상 없습니다.
전체 코드를 올려주시는게 질문에 도움이 됩니다
전체 코드를 올려주시는게 질문에 도움이 됩니다
당장 간단한 코드가 안된다는데, 다른분들은 이해하기 힘들죠
댓글 달기