乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 42|回复: 6

[编程交流] 空字符

[复制链接]

4

主题

14

帖子

10

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 23:44:15 | 显示全部楼层 |阅读模式
我尝试从Autocad中导出数据并执行外部应用程序
我有一个问题
我无法为该文件创建正确的空字符
我需要空字符来确定该文件中字符串的结尾
作用
  1. (write-line (strcat "text" (chr 256)))

不在行尾创建空符号
我想创建的附加文件(请用记事本++打开它以查看空字符)
可以用lisp创建这样的文件吗?
null\u字符。txt文件
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 00:03:29 | 显示全部楼层
尝试以下操作
测试程序:
  1. ([color=BLUE]defun[/color] c:test ( )
  2.    (nullchartest [color=MAROON]"line-text"[/color] ([color=BLUE]vl-filename-mktemp[/color] [color=MAROON]"test"[/color] ([color=BLUE]getvar[/color] 'dwgprefix) [color=MAROON]".txt"[/color]))
  3. )
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 00:04:33 | 显示全部楼层
当你写一行普通的文本时,如果你用十六进制转储,它实际上会有两个代码作为字符串OD和OA的结尾,这是回车和换行。如果你像一次读取一个数据库和一个字符一样读取文件,你能不检查这些代码吗。如果我记得正确的是(chr 13)
回复

使用道具 举报

4

主题

14

帖子

10

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 00:22:28 | 显示全部楼层
非常适合我
非常感谢你
我认为是时候捐赠你的网站了
回复

使用道具 举报

4

主题

14

帖子

10

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 00:25:45 | 显示全部楼层
还有一个问题
我试着改变一下你的函数,写多行
  1. (defun nullchartest ( str txt / fso stm )
  2.    (if (setq fso (vlax-create-object "scripting.filesystemobject"))
  3.        (progn
  4.            (vl-catch-all-apply
  5.               '(lambda ( )
  6.                    (setq stm (vlax-invoke fso 'createtextfile txt -1 0))
  7.                    (vlax-invoke stm 'write (strcat str (chr 256)))
  8.                    (vlax-invoke stm 'write (strcat "text for line 2" (chr 256)))   ;;;;;changes
  9.                    (vlax-invoke stm 'close)
  10.                )
  11.            )
  12.            (if (= 'vla-object (type stm))
  13.                (vlax-release-object stm)
  14.            )
  15.            (if (= 'vla-object (type fso))
  16.                (vlax-release-object fso)
  17.            )
  18.            (findfile txt)
  19.        )
  20.    )
  21. )

但在结果中它只写了一行(第一行),为什么?
回复

使用道具 举报

4

主题

14

帖子

10

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 00:39:05 | 显示全部楼层
好,主题结束
我想出来了
我忘了
  1. (vlax-invoke stm 'write (chr 10))  ;;; starting next line

行之间
 
谢谢大家的帮助
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 00:48:16 | 显示全部楼层
 
太好了,我很高兴它能按要求工作。
谢谢你的捐赠,我很感激
 
 
如您所知,新行需要回车和换行:
  1. 5
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-10 21:29 , Processed in 0.750511 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表