如何在运行时从C ++代码检测.txt文件中保存的更改?有更好的方法吗?

问题描述

我正在使用C ++ DLL,该DLL在某些服务器端可以正常工作

它目前正在做什么

  1. 读取accounts.txt文件中列出的帐号
  2. 将它们插入向量中
  3. 在其整个生命周期内,即直到DLL在服务器端运行之前,仅针对在此.txt文件中输入内容的帐户执行自定义功能(使用C ++代码编程)

示例:

accounts.txt文件

1001
1002
1003
1004

我与向量有关的C ++代码部分是:

vector<UINT64> accounts_vector;
UINT64 id;

ifstream ifs;
ifs.open("accounts.txt",ifstream::in);
if (ifs.is_open()) {
    while (ifs >> id){
        accounts_vector.push_back(id);
    }
    ifs.close();
}
else {
    // Error in opening accounts file
}

当在服务器端导入DLL之前.txt文件中已经存在必需的条目时,它可以正常工作

但是,这种方法一个严重的缺点:
DLL运行时,我要

  1. .txt文件中保存的所有更改也应反映在矢量中
    例如 如果我将帐户ID 1005添加到.txt文件并保存.txt,则在运行DLL时也应更新矢量。
    除非&直到不保存.txt文件中的编辑,否则不应该更新矢量。
  2. 如果我的DLL当前正在对该ID进行操作,我还想禁止保存“从.txt文件删除ID并保存.txt”

当前,我需要手动执行此复杂过程才能完成任务:

  1. 停止并删除DLL
  2. 在.txt文件添加/删除条目并保存
  3. 重新导入并启动DLL

所以,
如何在运行时从代码中的C ++ DLL中检测.txt文件中保存的更改?
另外,有没有比使用.txt文件更好的选择了?

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)