找回密码
 注册
查看: 556|回复: 9
打印 上一主题 下一主题

[求助]skill怎么输出0x00到文件?官方说明书中的putc,这个功能不能使用

  [复制链接]
  • TA的每日心情
    开心
    2022-5-6 15:29
  • 签到天数: 34 天

    [LV.5]常住居民I

    跳转到指定楼层
    1#
    发表于 2021-9-13 15:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    fi = infile(filepath)fo = outfile(strcat(filepath ".bin))

    while(c = getc(fi)
            num = num + 1
            if(charToInt(c) != 0 then
                    fprintf(fo "%s" c)
            else
                    fprintf(fo "%s" intToChar(0))
            )
    )

    c = getc(fi) 可以依次读取十六进制数(确切说应该是八进制数)
    fprintf(fo "%s" c) 可以依次输出到新文件
    但是对于 charToInt(c) == 0,也就是0x00,或者说\000,就不会输出任何内容

    fprintf(fo "%s" intToChar(0)) 也是不行
    有什么办法可以输出0x00

    该用户从未签到

    2#
    发表于 2021-9-13 19:00 | 只看该作者
    需要看规格书中怎么操作

    点评

    规格书有建议用putc(1 poport) 但事实上,却是 E- *Error* eval: undefined function - putc putc这个功能未定义 fprintf(fo "%s" intToChar(1)) 用这个可以输出0x01到文件,但是 fprintf(fo "%s" intTo  详情 回复 发表于 2021-9-14 09:19
  • TA的每日心情
    开心
    2022-5-6 15:29
  • 签到天数: 34 天

    [LV.5]常住居民I

    3#
     楼主| 发表于 2021-9-14 09:19 | 只看该作者
    ybing12 发表于 2021-9-13 19:00
    需要看规格书中怎么操作

    规格书有建议用putc(1 poport)

    但事实上,却是
    E- *Error* eval: undefined function - putc
    putc这个功能未定义


    fprintf(fo "%s" intToChar(1))
    用这个可以输出0x01到文件,但是
    fprintf(fo "%s" intToChar(0))
    却没有输出任何内容
  • TA的每日心情

    2024-11-3 15:08
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    4#
    发表于 2021-9-17 15:20 | 只看该作者
    本帖最后由 aarom 于 2021-9-17 15:31 编辑

    先生:
    先說明有沒有資料, 只能用==> t/nil
    資料有空白鍵, 沒數字, 不等於0. 但你可以先給變數設定成0.

    点评

    版主大大,不是很理解您的意思 我是要修改二进制文件 目前,输出 0x00 和 0x10 有问题 这两个 ascii 对应的分别是  详情 回复 发表于 2021-9-22 08:59
  • TA的每日心情
    开心
    2022-5-6 15:29
  • 签到天数: 34 天

    [LV.5]常住居民I

    5#
     楼主| 发表于 2021-9-22 08:59 | 只看该作者
    aarom 发表于 2021-9-17 15:20
    先生:
    先說明有沒有資料, 只能用==> t/nil
    資料有空白鍵, 沒數字, 不等於0. 但你可以先給變數設定成0.

    版主大大,不是很理解您的意思
    我是要修改二进制文件
    目前,输出 0x00 和 0x10 有问题
    这两个 ascii 对应的分别是
    0000 0000
    0
    00
    NUL
    空字符(Null)

    0000 1010
    10
    0A
    LF
    换行键

    点评

    先說明有沒有資料, 只能用==> t/nil[/backcolor]沒資料不是0x00. 是完全沒有.是nil.[/backcolor] 資料有空白鍵, 沒數字, 不等於0. 但你可以先給變數設定成0.[/backcolor] 資料有空白鍵, 是0x20.[/backcolor]  详情 回复 发表于 2021-10-3 23:02
  • TA的每日心情

    2024-11-3 15:08
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    6#
    发表于 2021-10-3 23:02 | 只看该作者
    本帖最后由 aarom 于 2021-10-3 23:04 编辑
    leilei4908 发表于 2021-9-22 08:59
    版主大大,不是很理解您的意思
    我是要修改二进制文件
    目前,输出 0x00 和 0x10 有问题

    先說明有沒有資料, 只能用==> t/nil沒資料不是0x00. 是完全沒有.是nil.


    資料有空白鍵, 沒數字, 不等於0. 但你可以先給變數設定成0.

    資料有空白鍵, 是0x20.


    若你一定要0x00.
    必需先定義 C=0 ,不然C是空資料. 怎等於0跳出if印出0.


    另一種是........

            if(charToInt(c) != nil  then
                    fprintf(fo "%s" c)
            else
                    fprintf(fo "%s" intToChar(0))
    -----------------------------------------------------










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

    本版积分规则

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2024-12-24 21:54 , Processed in 0.093750 second(s), 28 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表