tcflush 예제

August 2, 2019 at 7:16 pm

이 섹션은 최소한으로 유지됩니다. 힌트를 위한 것이므로 예제 코드는 짧게 유지됩니다. 이것은 직렬 포트뿐만 아니라 모든 파일 설명자 집합에서 작동합니다. 이 예제는 1초 후에 시간 시간이 시간 시간 입니다. 시간 시간이 발생하면 선택하면 0이 반환되지만 실제로 선택하여 입력을 기다리는 시간으로 시간 지정이 감소됩니다. 시간 지정 값이 0이면 select가 즉시 반환됩니다. 의사가 주문한 것 같습니다. 두 번째 tcflush(가 없으면 셸은 명령 ef를 찾을 수 없다고 불평합니다. 원하는 경우 첫 번째 읽기 전에 tcflush()를 배치할 수 있습니다.

그것은 내 간단한 테스트에 대 한 필요 하지 않았다, 하지만 만약 내가 사용 하는 수 면 10; ./tcflush 하 고 앞에 입력, 그것은 차이 만들 것 이다. (POSIX는 baud speed가 정확한 위치를 지정하지 않고 용어 구조에 저장되며, 이를 얻기 위한 cfgetispeed() 및 cfsetispeed()를 제공한다는 것을 말합니다. 일부 시스템은 c_cflag에서 CBAUD에서 선택한 비트를 사용하고, 다른 시스템은 sg_ispeed 및 sg_ospeed와 같은 별도의 필드를 사용합니다. 설명은 완전하지 않지만 예제를 실험하여 응용 프로그램에 가장 적합한 솔루션을 도출하는 것이 좋습니다. 오픈 그룹 코리건덤 U035/1이 적용됩니다. 오류 및 응용 프로그램 사용 섹션에서 tcflow()에 대한 참조는 tcflush()로 대체됩니다. 모든 예제는 miniterm.c에서 파생되었습니다. 미리 입력 버퍼는 정식 입력 처리를 위한 최대 문자열 길이( 또는 )와 마찬가지로 255자로 제한됩니다. POSIX 대답은 tcflush(): 전송되지 않은 출력 데이터, 비읽기 입력 데이터 또는 둘 다플러시입니다. 출력이 전송될 때까지 기다리는 tcdrain()도 있습니다. POSIX 표준 (1988 년 평가판 버전)이 있었기 때문에 POSIX에 있었지만 직접 사용한 것은 기억나지 않습니다.

제공된 예제는 소스 중 하나에서 입력을 사용할 수 있게 될 때까지 무기한 으로 차단됩니다. 입력시 시간 초과하는 경우 선택 호출을 fd로 참조하지만 전송되지 않은 개체에 기록된 데이터를 삭제하거나 queue_selector의 값에 따라 수신되었지만 읽지 않은 데이터를 삭제하면 다음 코드를 컴파일하여 결과 프로그램이 tcflush라고 함 : termios, tcgetattr, tcsetattr, tcsendbreak, tcdrain, tcread, tcflow, cfmakeraw, cfgetospeed, cfgetispeed, cfsetispeed, cfsetospeed, cfsetspeed – 터미널 속성, 라인 제어, get and set baud rate A 예 : 나는 읽기 (0, 읽기)를 설정합니다( 버퍼, 1) 및 사용자가 abcde를 씁니다.