Lua输入输出库

1、简单模型

)1、io.write函数:

                        函数模型为io.write(...)

)2、io.read函数:

                        io.read(“*all”) 读取当前输入的整个文件

                        io.read(”*line“) 读取下一行

                        io.read(“*number”) 读取一个整数

                        io.read(num) 读取当前输入的不超过num个字符

特别的:

io.lines():以迭代器形式访问文件中的每一行数据

for line in io.lines() do
    io.write(string.format("%d\n",line))
end

2、完整I/O模型

Lua中完整I/O模型的使用方式非常类似于C运行时库的文件操作函数,它们都是基于文件句柄的。
    1). 通过io.open函数打开指定的文件,并且在参数中给出对该文件的打开模式,其中"r"表示读取,"w"表示覆盖写入,即先删除文件原有的内容,"a"表示追加式写入,"b"表示以二进制的方式打开文件。在成功打开文件后,该函数将返回表示该文件的句柄,后面所有基于该文件的操作,都需要将该句柄作为参数传入。如果打开失败,返回nil。其中错误信息由该函数的第二个参数返回,如:
    assert(io.open(filename,mode))  --如果打开失败,assert将打印第二个参数给出的错误信息。
    
    2). 文件读写函数read/write。这里需要用到冒号语法,如:

1 local f = assert(io.open(filename,"r"))
2 local t = f:read("*all") --对于read而言,其参数完全等同于简单模型下read的参数。
3 f:close()
posted @ 2014-09-28 09:03  Mr. Ant  阅读(773)  评论(0编辑  收藏  举报