Lua编程语言爱好者首页投稿(暂停使用,暂停投稿)

Lua io.open()

2016-07-19  本文已影响2651人  AlbertS

前言#

上一章我们在讲解函数os.tmpname()的时候涉及到了几个IO库中函数,可能有些朋友会看的迷糊,那么接下来我会开始Lua IO 库的讲解,相信在熟悉这些函数以后,一定会对我们的工作有所帮助。

Lua的IO库对于文件操作提供了两种不同的方式:第一种使用隐式文件描述符,通过io表中的各种方法来实现,使用这种方式的前提是操作之前先设置默认的操作文件,包括输入文件和输出文件;第二种方法就是使用显示文件描述符,这种方式需要使用io.open()方法返回的文件来调用方法。

Lua的io表中提供了3种预定义的文件描述符io.stdin,io.stdout,io.stderr,这三种文件描述符永远不会被关闭。

在没有特殊说明的情况系,所有的IO函数在失败的情况下返回nil(外加错误信息作为函数的第二个返回值和一个依赖于系统的错误代码作为第三个函数返回值),当然也有一些函数在成功的情况下返回nil,在非POSIX系统下,当发生错误时,错误信息和徐哦呜代码的产生也许不是线程安全的,因为他们依赖于C的全局变量errno

内容#


io.open()##


Usage##

-- 打开存在的文件
local file, msg = io.open("iotest.txt",'r')
if file == nil then
    print(msg)
else
    print("open exist file success :")
    print(file)
end

-- 打开不存在的文件
local ret, errormsg = io.open("iotest2.txt", "r")
print("\nopen don't exist file ret :")
print(ret)
if ret == nil then
    print(errormsg)
end
io_open.png

总结#

上一篇下一篇

猜你喜欢

热点阅读