리눅스 환경에서 vi를 통해서 c언어를 공부중인데요 <div><br></div> <div>read 함수는 제대로 작동했을시 읽은 바이트 수를 반환하고</div> <div><br></div> <div>실패하면 -1을 반환한다고 알고있습니다.</div> <div><br></div> <div>그래서 read함수를 while문 안에 조건은</div> <div><br></div> <div>T = read(fd[1],buffer,sizeof(buffer)) >0</div> <div><br></div> <div>이렇게 넣었는데요, </div> <div><br></div> <div>이게 정상작동한다면 , read로 더이상 읽어 올것이 없을때 -1을 반환해서 while문을 탈출 하는게 정상아닌가요?</div> <div><br></div> <div>while문 조건에는 단순한게 printf로 출력 하는 한줄밖에없습니다.</div> <div><br></div> <div>컴파일상에 에러도 없는데.</div> <div><br></div> <div>마치 scanf로 입력 대기중일때 처럼, </div> <div><br></div> <div>아무런 반응도 없이 프로그램이 종료도 안된상태에서 무기한 정지해 있습니다.</div> <div><br></div> <div>gdb에서 bt명령어로 확인해본결과 반복문 조건 부분으로 나오는걸 보니, 안에 있는 출력 부분에서 뭔가 꼬인것같은데.</div> <div><br></div> <div>출력인데 왜 입력대기 같은 상황이 나는걸까요 ?;</div> <div><br></div> <div>만약 다른부분에서 write로 썼는데 그안에 쓰래기 값이나 널값이 들어갔다면,</div> <div><br></div> <div>그 쓰래기 값등이 출력되고 다음단계로 넘어간다거나, 에러가 발생한다거나... 해야하는데</div> <div><br></div> <div>그냥 먹통이 되어버리니 도무지 이유를 모르겠습니다.;</div> <div><br></div> <div>read함수 에서 값을 잘못 읽어온걸까요? 뭔가를 읽긴 읽었다는 소리같은데...</div> <div><br></div> <div>왜 아무것도 출력이 안되는건지 ... ㅠㅠ</div> <div><br></div> <div><br></div>
<img src="http://cfile23.uf.tistory.com/image/150E34544DF4D9990FD554" width="200" height="200" alt="150E34544DF4D9990FD554"> 정말 매력있는 진저헤어를 가진 여자배우 카렌 길런, 그리고 매력있는 캐릭터 아멜리아 폰드...
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.