问题描述
#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 (将#修改为@)