404d217504
- Remove FileManager and related file-based persistence logic - Remove obsolete observer persistence utilities - Remove unused service APIs and includes - Delete duplicate DataStore mutex stubs - Perform general dead-code cleanup
46 lines
1.3 KiB
C++
46 lines
1.3 KiB
C++
/*
|
|
File: FileHelper.h
|
|
Description: Provides utility functions for loading and saving records
|
|
from and to CSV-like text files. Ensures files are created
|
|
if missing and supports simple record persistence.
|
|
Author: Trenser
|
|
Date: 22-May-2026
|
|
*/
|
|
|
|
#pragma once
|
|
#include <fstream>
|
|
#include <string>
|
|
#include <stdexcept>
|
|
#include <direct.h>
|
|
#include "Vector.h"
|
|
|
|
namespace util
|
|
{
|
|
/*
|
|
Function: ensureDirectoryExists
|
|
Description: Creates all missing directories present in the given file path.
|
|
Iteratively parses the path and creates each directory level
|
|
using _mkdir() before file operations are performed.
|
|
Parameters:
|
|
- filePath: const std::string&, relative or absolute file path
|
|
Returns:
|
|
- void
|
|
Throws:
|
|
- None (_mkdir failures are intentionally ignored if directory already exists)
|
|
*/
|
|
inline void ensureDirectoryExists(const std::string& filePath)
|
|
{
|
|
size_t position = 0;
|
|
|
|
while ((position = filePath.find('/', position)) != std::string::npos)
|
|
{
|
|
std::string directory = filePath.substr(0, position);
|
|
|
|
if (!directory.empty())
|
|
{
|
|
(void)_mkdir(directory.c_str());
|
|
}
|
|
position++;
|
|
}
|
|
}
|
|
} |