残念ながら、あなたの質問に直接答えは出ていませんが、あなたはニーズを達成するための別の方法を尋ねましたが、これはおそらく役に立ちます。
#include <windows.h>
#include <stdio.h>
#include <ctime>
using namespace std;
int main()
{
HANDLE _configfile;
FILETIME _configFileTimeCreate, _configFileTimeModified;
SYSTEMTIME _systemUTC;
time_t start_time = time(NULL);
for (;;)
{
time_t now = time(NULL);
time_t diff = now - start_time;
if ((diff % 10) == 0) {
_configfile = CreateFile(L"config.txt", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(_configfile == INVALID_HANDLE_VALUE) {
printf("Could not open file, error %ul\n", GetLastError());
return -1;
}
if(!GetFileTime(_configfile, &_configFileTimeCreate, NULL, &_configFileTimeModified)) {
printf("Something wrong!\n");
return FALSE;
}
else {
FileTimeToSystemTime(&_configFileTimeModified, &_systemUTC);
printf("UTC System Time format:\n");
printf("Modified on: %02d/%02d/%d %02d:%02d\n", _systemUTC.wDay, _systemUTC.wMonth, _systemUTC.wYear,
_systemUTC.wHour, _systemUTC.wMinute);
}
CloseHandle(_configfile);
}
Sleep(1000);
}
return 0;
}
あまりにも恐ろしいと最適化されていません。ただし、プログラムの動作が変わることに注意してください。以前はiniを編集して直ちに起動させることができましたが、静的にプログラムを再起動する必要があります。 – StoryTeller
@StoryTeller私の場合は関係ありません。それから、どうやってこの状況を克服できるのか教えてください。 –
OSを使用して、最後のファイル変更のタイムスタンプをフェッチしてキャッシュする必要があります。ファイル全体を読むよりもはるかに速いはずなので、パフォーマンスはさらに向上すると思います。 – StoryTeller