1

我使用在 linux 机器上运行的 gforth。

对于我的一个迷你应用程序,我想注册来自几个不同用户输入的格式化文本输出。

这是我使用的 INPUT$:

: INPUT$  
  pad swap accept pad swap ; 

我认为这是正确的。我是这样测试的:

cr ." enter something : " 4 INPUT$ CR 
enter something : toto 
 ok
cr ." enter something : " 8 INPUT$ CR 
enter something : titi 
 ok
.S <4> 140296186274576 4 140296186274576 4  ok

我的文件定义:

256 Constant max-line
Create line-buffer  max-line 2 + allot
//prepare file for Write permissions :    
s" foo.out" w/o create-file throw Value fd-out
: close-output ( -- )  fd-out close-file throw ;

最终目标是将非常小的文件构建为:

data1;data2;data3
data4;data5;data6

其中每个数据都是用户输入 ( asked 3times to insert text & a second wave of 3 inputs)

我没有找到有关如何使用文本输入来构建文件的文档。

如何调用我的堆栈数据以将它们复制到文本文件格式?(使用 type 只会将文本回显到我的终端

4

1 回答 1

2

我认为您正在寻找 Forthwrite-filewrite-line单词,它们记录在这里:https ://www.complang.tuwien.ac.at/forth/gforth/Docs-html/General-files.html

write-file ( c-addr u fileid -– ior )

write-line ( c-addr u fileid –- ior )

传递文本缓冲区的地址和长度以及文件 ID(fd-out在您的示例中)以将文本写入文件。成功时结果ior为零。

于 2018-01-09T20:29:14.383 回答