我file_lines()
在 IDL 中遇到了函数问题。我有一个 ASCII 数据文件,它有 27000 行,正如我在 emacs 缓冲区中并使用命令验证的那样grep -c "."
;但是,file_lines()
返回值 81807 行。该功能等效于此代码(http://idlastro.gsfc.nasa.gov/idl_html_help/FILE_LINES.html)
FUNCTION file_lines, filename
OPENR, unit, filename, /GET_LUN
str = ''
count = 0ll
WHILE ~ EOF(unit) DO BEGIN
READF, unit, str
count = count + 1
ENDWHILE
FREE_LUN, unit
RETURN, count
END
我的第一直觉是,我相当长的行(最多 231 个字符)被截断以限制 IDL 字符串变量的字符数,但这似乎并非如此,因为 IDL 字符串据说可以容纳 2147483647(2.1 GB) 字符长度 (http://idlastro.gsfc.nasa.gov/idl_html_help/Overview_of_Strings.html)
关于可能出现什么问题的任何建议?