--- title: "Using QL C, Part One: Opening Devices" type: "article" slug: "using-ql-c-part-one-opening-devices" url: "http://localhost/article/using-ql-c-part-one-opening-devices/" markdown_url: "http://localhost/article/using-ql-c-part-one-opening-devices.md" published_at: "2026-03-13T13:58:17+00:00" modified_at: "2026-03-13T13:58:18+00:00" featured_image: url: "http://localhost/wp-content/uploads/2022/04/20230809-041332.jpg" excerpt: "Tutorial with code examples showing how to open serial port, console, and screen devices in Metacomco QL C, and explaining the difference between buffered and unbuffered I/O using setnbf(). A sample program demonstrates printing output to the QL serial port." category: - name: "The RAMTOP" slug: "the-ramtop" taxonomy: "category" url: "http://localhost/category/periodicals/the-ramtop/" post_tag: - name: "C (programming language)" slug: "c-programming-language" taxonomy: "post_tag" url: "http://localhost/tag/c-programming-language/" - name: "QL" slug: "ql" taxonomy: "post_tag" url: "http://localhost/tag/ql/" model: - name: "Sinclair QL" slug: "sinclair-ql" taxonomy: "model" url: "http://localhost/model/sinclair-ql/" indiv: - name: "David Hoshor" slug: "david-hoshor" taxonomy: "indiv" url: "http://localhost/indiv/david-hoshor/" publication_r: id: 39272 title: "The RAMTOP" type: "periodical" url: "http://localhost/periodical/the-ramtop/" authors_r: - name: "David Hoshor" slug: "david-hoshor" taxonomy: "indiv" url: "http://localhost/indiv/david-hoshor/" issues_articles: - id: 50267 title: "The RAMTOP Mar-Apr 1988" type: "issue" url: "http://localhost/issue/the-ramtop-mar-apr-1988/" pages: "4" pubdate: "Mar-Apr 1988" archive_link: false --- # Using QL C, Part One: Opening Devices Tutorial with code examples showing how to open serial port, console, and screen devices in Metacomco QL C, and explaining the difference between buffered and unbuffered I/O using setnbf(). A sample program demonstrates printing output to the QL serial port.