답변이 될 것 같지는 않습니다만, 도스시절에 코딩했던 기억을 더듬어보면...
스트림 방식이 아닌 핸들 방식으로 파일을 오픈할 경우 stdin, stdout, stderr은 각각 0, 1, 2의 값입니다.
원래 stdin, stdout, stderr은 핸들이 아닌 스트림 값인데, fileno()를 써서 이걸 핸들로 변환한 값이 필요하신
것이니 그냥 0, 1, 2를 쓰시면 되겠네요.
그럼...
이상탁 님이 쓰신 글 :
: 답변에 감사드립니다.
:
: 저는 아직 찾지 못하고 있습니다. 저도 C 가 하는 것을 델파이가 못한다고 보지는 않습니다.
:
: 다만, 제가 델파이에서 그 방법을 못찾았을 뿐이지요.
:
: 실질적인 질문의 요지는 VC++ 에서 stdin, stdout, stderr 에 해당되는 것으로 델파이에는 무엇이 있냐는 것입니다.
:
: 그래서 다음의 두 문장을 대체할 수 있는 델파이 문장을 물어본것입니다.
:
: setmode(fileno(stdin), O_BINARY);
:
: len = fread(buf, 1, sizeof(buf), stdin)
:
: 죄송하지만 아시는 분은 부탁드립니다.
|