首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加要写入文件的字符时出现Lua错误

添加要写入文件的字符时出现Lua错误
EN

Stack Overflow用户
提问于 2016-11-21 22:24:27
回答 1查看 80关注 0票数 1

我有一个带有nodemcu固件的ESP8266模块,必须使用lua进行编程。我编写了一些代码来将从html页面输入的用户名/密码凭证保存到一个文件中。

这是lua函数,它工作得很好

代码语言:javascript
复制
   function parse_wifi_credentials(vars)
    if vars == nil or vars == "" then
        return false
    end

  local _, _, wifi_ssid = string.find(vars, "wifi_ssid\=([^&]+)")
  local _, _, wifi_password = string.find(vars, "wifi_password\=([^&]+)")

    if wifi_ssid == nil or wifi_ssid == "" or wifi_password == nil then
        return false
    end

    pwd_len = string.len(wifi_password)
    if pwd_len ~= 0 and (pwd_len < 8 or pwd_len > 64) then
        return false
    end

   file.open("credentials.txt", "a")
   file.write(wifi_ssid)
   file.write(wifi_password)
   file.flush()
   file.close()

    return true
end

它都可以工作,但我的输出文件如下所示

代码语言:javascript
复制
usernamepasswordotherusernameotherpassword

因此,我将值插入到单独的字段中,如下所示

代码语言:javascript
复制
 file.write(wifi_ssid)
 file.write(":")
 file.write(wifi_password)

还有许多其他类似的方法,但是我的代码不能在我的ESP8266上工作,因为我得到了not enough memory错误,但是如果我不打印:,我就有大约10kb的空闲空间。

我也尝试过file.write(wifi_ssid, "\n"),它可以工作,但输出没有改变。

Annyone知道我应该怎么做才能在字段中插入字符?

EN

回答 1

Stack Overflow用户

发布于 2016-11-22 00:58:07

您需要使用

代码语言:javascript
复制
file.writeline(wifi_ssid)

在文件行使用行尾字符。

要确定文件打开是否由于其垃圾内容而导致内存问题,您可以先删除它,然后重写凭据。

此外,在file.writeln或flush操作之后使用collectgarbage()方法也是很好的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40722435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档