如何解决如何在 napi 插件中存储数据?
#include <napi.h>
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <string>
int fibonacci(int number) {
if (number == 0) {
return 0; // базовый случай (условие завершения)
}
if (number == 1) {
return 1; // базовый случай (условие завершения)
}
return fibonacci(number - 1) + fibonacci(number - 2);
}
bool isNumber(std::string s) {
for (int i = 0; i < s.length(); i++) {
if (isdigit(s[i]) == false) {
return false;
}
}
return true;
}
Napi::Number get(const Napi::CallbackInfo &info) {
Napi::Env env = info.Env();
int i;
std::string line = "";
std::ifstream fin("counter.txt");
fin >> line;
fin.close();
std::ofstream fout("counter.txt",std::ofstream::out | std::ofstream::trunc);
if (!isNumber(line)) {
i = 0;
fout << "0";
fout.close();
return Napi::Number::New(env,fibonacci(i));
} else {
i = std::stoi(line);
i++;
fout << std::to_string(i);
fout.close();
return Napi::Number::New(env,fibonacci(i));
}
}
void reset(const Napi::CallbackInfo &info) {
std::ofstream fout("counter.txt",std::ofstream::out | std::ofstream::trunc);
fout << "0";
fout.close();
}
Napi::Object init(Napi::Env env,Napi::Object exports) {
exports.Set(Napi::String::New(env,"get"),Napi::Function::New(env,get));
exports.Set(Napi::String::New(env,"reset"),reset));
return exports;
};
NODE_API_MODULE(addon,init);
我有一个生成斐波那契数列的简单插件。但现在它将当前序列号存储在一个单独的文件中。如何使用 node-addon-api 将数据存储在插件中,这可能吗?即使应用程序处于非活动状态,我也需要存储数据。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。