首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

无法在SBCL sb-ext:run-program中获取输入流

在SBCL中,使用sb-ext:run-program函数无法直接获取输入流。sb-ext:run-program是一个用于在子进程中运行外部程序的函数,它可以指定子进程的标准输入、标准输出和标准错误流。然而,它并没有提供直接获取输入流的功能。

要在SBCL中获取输入流,可以使用其他方法。一种常见的方法是使用Common Lisp的标准输入流 standard-inputstandard-input是一个全局变量,它表示当前进程的标准输入流。可以使用read函数从标准输入流中读取数据。

以下是一个示例代码,演示如何在SBCL中获取输入流:

代码语言:lisp
复制
(defun get-input-stream ()
  *standard-input*)

(defun read-input ()
  (let ((input-stream (get-input-stream)))
    (read-line input-stream)))

(defun main ()
  (format t "请输入一行文本:")
  (force-output)
  (let ((input (read-input)))
    (format t "你输入的是:~a~%" input)))

(main)

在上述示例中,get-input-stream函数返回了当前进程的标准输入流。read-input函数使用get-input-stream函数获取输入流,并使用read-line函数从输入流中读取一行文本。main函数则演示了如何使用read-input函数获取用户输入,并将其打印出来。

这是一个简单的示例,你可以根据实际需求进行扩展和修改。希望对你有帮助!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Emacs 折腾记

我使用网友们力荐的 Emacs + slime + sbcl 的组合,配置步骤如下: 去 http://www.sbcl.org/ 下载安装 sbcl 的最新版。... ~/.emacs 文件里添加: 这样自动补全之类的就没有问题了。 然后如何运行当前 py 文件这件事上遇到些问题。 Vim 我一直是用 :!...python % 来运行的,但是 Emacs 里,包括 Evil、eshell、shell 里,如果有等待用户输入的语句如 input 或 raw_input 等,因为 Emacs 只重定向了输出,无法重定向输入...配置这个倒是简单,安装 Markdown-mode 插件,然后 ~/.emacs 添加: (autoload 'markdown-mode "markdown-mode" "Major mode... ~/.emacs 文件添加 这个 3 表示距离屏幕上下边缘还有 3 行的时候再移动光标即自动滚屏,方便随时能看到当前编辑行的上下文,可以根据自己的使用习惯调整。

1.3K20
  • C语言-文件操作

    由于二进制文件不以人类可读的形式存储数据,它们无法直接用文本编辑器打开和阅读。 C语言中,处理二进制文件需要使用fread和fwrite等函数,这些函数可以直接读取和写入二进制数据。...这时候就涉及到了上文所讲述的数据文件的存储方式,将内容简化为文字就是下图所示(以10000为例): 当放入10000时实际上放入的是10011100010000这个二进制序列,二进制文件显示的是十六进制的数字序列...以上就是关于运行代码VS的二进制文件的相关知识。 3....我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的⼊输出操作各不相同,为了⽅便程序员对各种设备进行方便的操作,我们抽象出了流的概念,我们可以把流想象成流淌着字符的河。...标准输入流(stdin):标准输入流用于从程序外部读取数据,通常与键盘输入相关联。当你使用scanf等函数读取用户输入时,实际上是从标准输入流读取数据。

    8910

    C语言文件操作

    我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的⼊输出 操作各不相同,为了⽅便程序员对各种设备进⾏⽅便的操作,我们抽象出了流的概念,我们可以把流 想象成流淌着字符的河。...fgetc和fputc fgetc是从流获取字符(Fgetc和getc是等价的,除了getc可以某些库作为宏实现。) fputs则是将一个字符写入流并推进位置指示器。...fgets和fputs fgets从流获取字符串并将其作为C字符串存储到str,直到读取(num-1)个字符,或者到达换行符或文件结束符,以先发生的为准。...fputs将字符串写入流函数从指定的地址(str)开始复制,直到到达结束的空字符('\0')。这个终止的空字符不会复制到流。...4.2ftell 返回文件指针相对于起始位置的偏移量 获取的当前位置 返回流的位置指示器的当前值。

    5510

    C语言 文件操作

    什么时文件        文件用于保存数据,可以做到数据持久化的保存         磁盘上的文件就是文件 但是程序设计,文件一般分为两种,程序文件和数据文件         程序文件...数据文件,字符用ASCLL形式存储,数值型的数据可以用ASCLL存储也可以用二进制形式储存....C程序针对⽂件、画⾯、键盘等的数据⼊输出操作都是通过流操作的。 ⼀般情况下,我们要想向流⾥写数据,或者从流读取数据,都是要打开流,然后操作。         ...标准流          C语言程序启动的时候,默认打开 stdin stdout stderr三个流,分别是标准输入流,标准流, 标准错误流.        ...stdin,由键盘输入 scanf就是从标准输入流读取数据         stdout标准输出流,大多数的环境输出给显示器,printf就是输出         stderr输出到显示器

    9010

    C语言——文件操作

    程序设计,我们⼀般从文件功能的角度来分类 分为 程序⽂件 、 数据⽂件 。...文件的打开和关闭 流和标准流 流 我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的⼊输出操作各不相同,为了⽅便程序员对各种设备进⾏⽅便的操作,我们抽象出了流的概念...C程序针对⽂件、画⾯、键盘等的数据⼊输出操作都是通过流操作的。 内存的程序向文件输出内容是写文件,文件向内存的程序输入是读文件。...事实上,C语⾔程序启动的时候,默认打开了3个流: stdin - 标准⼊流。 ⼤多数的环境从键盘⼊,scanf函数就是从标准⼊流读取数据。...文件读/写的过程,如果发生错误,就会将一个错误标记,设置一下 ferror ():检测这个错误标记是否被设置,如果被设置,就是在读取过程中发生错误 2.文件读/写的过程,如果遇到文件末尾

    6310

    C语言:文件操作详解

    二、什么是文件 2.1 文件的分类      磁盘(硬盘上)的文件就叫做文件,程序设计,文件一般分为两种:程序文件、数据文件。...4.1 流 我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的⼊输出操作各不相同,为了方便程序员对各种设备进⾏⽅便的操作,我们抽象出了流的概念,我们可以把流想象成流淌着字符的河...因为C语言程序启动的时候,默认打开了3个流: • stdin - 标准⼊流,⼤多数的环境从键盘⼊,scanf函数就是从标准⼊流读取数据。...:可变参数列表 Read formatted data from string:字符串读取一个格式化的数据        对比一下参数,共同点都是读取一个格式化的数据,不同的是scanf是默认的标准输入流...,从键盘上读取,而fscanf是所有的标准输入流都可以,参数可以传文件流也可以跟scanf一样传stdin(标准输入流),而sscanf是从一个字符串读取。

    52910

    后台优化:使用应用性能管理工具

    而了解应用性能瓶颈的最好方法就是:查看程序运行时间最长的部分。在这时,我们就可以考虑使用性能管理工具来分析应用的性能。...挫折:响应时间大于四倍的目标时间(T秒),用户无法忍受这个过程,便会离开网页。 下面我们将 New Relic 作为应用性能管理工具,来分析和展示应用程序的性能。...专业版里提供了一些高级的功能,这些功能更适合于、大型的 Web 应用,如部署追踪、服务地图、衡量负载报告等等的功能。...这个设置的过程是: 获取一个密钥 再用这个密钥生成一个配置文件 重新运行我们的应用 如官网的步骤所示: New Relic 设置步骤 我们在网页端获取密钥,随后安装 newrelic 的库 sudo pip...尽管我们无法避免用户访问这个页面,但是我们可以使用缓存等等的方法,来尽量减少执行这个方法的次数。这样一来,我们就可以大大地提高应用的性能。

    1.7K80

    JAVA面试基础「建议收藏」

    () 获取文件所在的目录 public File getParentFile() 获取文件所在目录对应的File对象 public String getPath() 获取文件路径 public boolean...Input 输入流(将外部文件读入到 Java 程序)   Output 输出流(将 Java 程序的数据输出到外部)   Java 的流有很多种不同的分类。...) —> Reader(字符输入流) InputStreamReader 的功能是将字节输入流转换为字符输入流,是处理流 import java.io.FileInputStream; import...流没有 flush ⽅法,但不代表它没有缓冲流,输出流是有 flush ⽅法的,实际开发关闭输出缓冲流之前,需要调⽤ flush ⽅ 法。...flush 方法,但不代表它没有缓冲流,输出流是有 flush 方法的,实际开发关闭输出缓冲流之前,需要调用 flush 方法。

    96120

    C语言:文件操作

    但是程序设计,我们⼀般谈的⽂件有两种:程序⽂件、数据⽂件(从⽂件功能的⻆度来分类 的)。...以前各章所处理数据的⼊输出都是以终端为对象的,即从终端的键盘⼊数据,运⾏结果显⽰到显⽰器上。...输出的东西我们都看不懂,因为存放的是二进制 我们可以用vs的二进制编辑器打开查看 这个是小端存放的,所以是倒过来的 文件的打开和关闭 流和标准流、 流 我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据...那是因为C语⾔程序启动的时候,默认打开了3个流: stdin -- 标准⼊流,⼤多数的环境从键盘⼊,scanf函数就是从标准⼊流读取数据。...- 标准⼊流,⼤多数的环境从键盘⼊,scanf函数就是从标准⼊流读取数据。

    12410

    学习文件和文件操作

    文件的打开和关闭  C程序针对⽂件、画⾯、键盘等的数据⼊输出操作都是通过流操作的。 ⼀般情况下,我们要想向流⾥写数据,或者从流读取数据,都是要打开流,然后操作。...那是因为C语⾔程序启动的时候,默认打开了3个流: • stdin 标准⼊流,⼤多数的环境从键盘⼊,scanf函数就是从标准⼊流读取数据。...C语⾔,就是通过 FILE* 的⽂件指针来维护流的各种操作的。默认打开了这三个流,我们使⽤scanf、printf等函数就可以直接进⾏⼊输出操作的。...对⽐⼀组函数: scanf/fscanf/sscanf scanf 从标准输入流上读取格式化的数据 fscanf 从指定输入流上读取格式化的数据 sscanf  printf/fprintf/sprintf...如果从磁盘向计算机读⼊数据,则从磁盘⽂件读取数据 ⼊到内存缓冲区(充满缓冲区),然后再从缓冲区逐个地将数据送到程序数据区(程序变量等)。缓冲区的大小是由编译系统决定的。

    10410

    深入挖掘C语言 ---- 文件操作

    一般情况下, 我们想要向流里写数据, 或者从流读取数据, 都是打开流, 然后操作. 1.1.2标准流 C语言程序启动的时候....默认打开了3个流: stdin: 标准输入流, 大多数的环境从键盘输入, scanf函数就是从标准输入流读取数据 stdout: 标准输出流, 大多数的环境输出到显示器界面, printf函数就是将信息输出到标准输出流...通过该文件信息区的信息就能够访问该文件。也就是说,通过文件指针变量能够间接找到与它关联的文件。 1.3 文件的打开和关闭 文件在读写之前应该先打开文件,使用结束之后应该关闭文件。...顺序读写 上⾯说的适⽤于所有⼊流⼀般指适⽤于标准⼊流和其他⼊流(如⽂件⼊流);所有输出流⼀ 般指适⽤于标准输出流和其他输出流(如⽂件输出流)。 3....实际使用,我们可以根据fseek函数的返回值来判断文件指针位置是否成功移动。

    9410

    文件操作学不懂,小代老师带你深入理解文件操作(卷)

    ⽂件的打开和关闭 4.1 流和标准流 4.1.1 流 我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的⼊输出操作各不相同,为了⽅便程序员对各种设备进⾏⽅便的操作,我们抽象出了流的概念...C程序针对⽂件、画⾯、键盘等的数据⼊输出操作都是通过流操作的。 ⼀般情况下,我们要想向流⾥写数据,或者从流读取数据,都是要打开流,然后操作。...那是因为C语⾔程序启动的时候,默认打开了3个流: • stdin - 标准⼊流,⼤多数的环境从键盘⼊,scanf函数就是从标准⼊流读取数据。...通过该⽂件信息区的信息就能够访问该⽂件。也就是说,通过⽂件指针变量能够间接找到与它关联的⽂件。 ⽐如: 4.3 ⽂件的打开和关闭 ⽂件在读写之前应该先打开⽂件,使⽤结束之后应该关闭⽂件。...int main() { int ch = fgetc(stdin);//从键盘(标准输入流)上读取 fputc(ch, stdout);//将字符输入(写)到屏幕(标准输出流) } fputs

    9610

    【C语言】文件操作(1)

    ⽐如程序运⾏需要从中读取数据的⽂ 件,或者输出内容的⽂件,(其并不会被运行,只是拿来读写) 以前各章所处理据的⼊输出都是以终端为对象的,即从终端的键盘⼊数据,运⾏结果显⽰到显⽰器上。...(大部分编译器都能打开并正常显示出数据) 文件的打开和关闭 流和标准流 流 我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的⼊输出操作各不相同,我们程序员就是个写代码...(该图片转载) 流是有明确的方向性的,所以分为两种,要么是输入流(从外部设备到内存),要么是输出流 (从内存向外部设备)。...• stdin(指向标准输入流) - 标准⼊流,⼤多数的环境从键盘⼊,scanf函数就是从标准⼊流读取数据。...\为转义字符,所以代码需要改为\\才能不影响结果。

    8810

    Java IO(Properties对象序列化打印流commons-io)

    Properties 可保存在流或从流中加载。...属性列表每个键及其对应值都是一个字符串 主要方法 setProperty等同与Map接口中的put , setProperty(String key, String value) 通过键获取值, getProperty...fis = new FileInputStream("c:\\person.txt"); //创建反序列化流,构造方法,传递字节输入流..., 对象实现Serializable接口接口后,会给对象创建一个serialVersionUID用作标识对象,如果更改了源代码,则这个表示会改变, 反序列化的时候java会对比文件和类的的标识是否对应...打印流的分类 PrintStream PrintWriter 打印流的特点 不负责数据源,只负责数据目的(只提供操作) 永远不会抛出IOException,但是可能抛出别的异常 两个打印流的方法,完全一致

    85800

    【C语言】深度探讨文件操作(一)

    如果没有文件,我们写的程序的数据是存储电脑的内存,如果程序退出,内存回收,数据就丢失了,等再次运行程序,是看不到上次运行程序的数据的,如果要将数据进行持久化的保存,我们可以使用文件。...pf = NULL; return 0; } test.txt直接在文件打开图: VS上用二进制编辑器打开test.txt 10000的二进制表示:00 00 27 10 在内存按小端存储...:10 27 00 00 文件的打开和关闭 流和标准流 我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据数据,不同外部设备的输入输出的操作各不相同,为了方便程序员对各种设备进行方便的操作...那是因为C语言程序启动的时候,默认打开了3个流: stdin - 标准输入流大多数的环境从键盘输入,scanf函数就是从标准输入流读取数据。...格式化⼊函数 所有⼊流 fprintf 格式化输出函数 所有输出流 fread ⼆进制⼊ ⽂件 fwrite ⼆进制输出 ⽂件 注:表格的每个函数名可以点击,可以为你进行更深入的查找。

    11610
    领券