如何将输入保存到文件?
How can I save input to a file?
我在 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
)
我没有找到关于如何使用文本输入来构建我的文件的文档。
如何调用堆栈数据将它们复制为文本文件格式? (使用类型只会将文本回显到我的终端)
我认为您正在寻找第四个 write-file
和 write-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
成功时结果将为零。
我在 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
)
我没有找到关于如何使用文本输入来构建我的文件的文档。
如何调用堆栈数据将它们复制为文本文件格式? (使用类型只会将文本回显到我的终端)
我认为您正在寻找第四个 write-file
和 write-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
成功时结果将为零。