#pragma once
#include <cstdio>
#include <string>
#include <vector>
namespace opencc {
namespace tools {
FILE* OpenFileUtf8(const std::string& fileName, const char* mode);
FILE* CreateTempFileNearUtf8(const std::string& targetFileName,
std::string* fileName);
bool GetRealPathUtf8(const std::string& fileName, std::string* realPath);
bool HasMultipleLinksUtf8(const std::string& fileName);
bool IsSameFileUtf8(const std::string& first, const std::string& second);
int PreserveMetadataUtf8(const std::string& source,
const std::string& target);
int ReplaceFileUtf8(const std::string& source, const std::string& target);
int RemoveFileUtf8(const std::string& fileName);
#ifdef _WIN32
std::vector<std::string> GetUtf8CommandLineArgs();
#endif
} }