CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 文档中心

read-char(AutoLISP)

2023-1-7 18:08| 发布者: admin| 查看: 217| 评论: 0|来自: AutoCAD

摘要: 返回表示从键盘输入缓冲区或打开的文件读取的字符的整数

返回表示从键盘输入缓冲区或打开的文件读取的字符的整数

支持的平台:视窗和 Mac OS

签名

(read-char [file-desc])
文件描述

类型:文件

引用打开的文件的文件描述符(获取自)。如果未指定文件描述,则从键盘输入缓冲区获取输入。openread-char

返回值

类型:整数

字符代码范围为 1-65536。

每当检测到行尾字符或字符序列时,该函数都会返回单个换行符(代码 10)。read-char

发布信息

    释放:

  • Windows 上的 AutoCAD R12 及更高版本
  • Mac OS 上的 AutoCAD 2011 及更高版本

历史

    AutoCAD 2021

  • 返回值已修改为支持 Unicode 字符,并且可能与早期版本不同。例如,假设“€”字符位于名为test.txt 的文件中。以前,此字符的值将作为 ASCII 代码 128 返回,但在 Unicode 支持的情况下,此字符的值将作为 Unicode 代码 8364 返回。
    (setq fp (open "E:\\test.txt" "r" "utf8"))
    (read-char fp)
    8364
  • LISPSYS 系统变量控制使用哪个 AutoLISP 引擎以及函数的行为。
    • 0 - ASCII 字符支持(旧行为)
    • 1 或 2 - Unicode 字符支持
    注意:更改 LISPSYS 系统变量的值后,必须重新启动 AutoCAD 才能使更改生效。

例子

下面的示例省略了 file-desc,因此在键盘缓冲区中查找数据:read-char

(read-char)

键盘缓冲区为空,因此等待用户输入:read-char

ABC
65

用户输入;返回表示输入的第一个字符 (A) 的代码。接下来的三个调用返回键盘输入缓冲区中剩余的数据。此数据分别转换为 66(字母 B 的代码)、67 (C) 和 10(换行符):ABCread-charread-char

(read-char)
66

(read-char)
67

(read-char)
10

键盘输入缓冲区现在为空,等待用户输入下次调用时:read-char

(read-char)

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-19 14:58

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部