【问题标题】:Tcl_SetObjLength: negative length requested errorTcl_SetObjLength:负长度请求错误
【发布时间】:2018-04-04 07:13:28
【问题描述】:

我有一个包含大约 4200 万行的文件,我试图在 TCL 中读取和解析。但是,我在打印 D1 后立即收到以下错误消息。还有其他方法可以读取大文件吗?

proc test {} {
        set rpt "<file_name>"
        puts "D0"
        set lines [open $rpt r]
        puts "D1"
        set Data [read $lines]
        puts "D2"
        close $lines
}

输出错误:

D0
D1
Tcl_SetObjLength: negative length requested: -2147483646 (integer overflow?)

【问题讨论】:

  • 啊,是的,单个内存对象的 2GB 限制。 ??????

标签: debugging scripting tcl file-handling


【解决方案1】:
set fp [open inputfile r]
# Read one line at a time
while {[gets $fp line]!=-1} {
    puts $line
}
close $fp

【讨论】:

    猜你喜欢
    • 2018-08-09
    • 1970-01-01
    • 2020-09-24
    • 1970-01-01
    • 2017-03-25
    • 1970-01-01
    • 2017-09-24
    • 1970-01-01
    • 2017-04-08
    相关资源
    最近更新 更多