13std::pair<bool, std::string>
15 size_t maxsize = std::numeric_limits<size_t>::max()) {
18 return std::make_pair(
false,
"");
23 const size_t n = fread(buffer, 1,
sizeof(buffer), f);
28 return std::make_pair(
false,
"");
30 retval.append(buffer, buffer + n);
31 }
while (!feof(f) && retval.size() <= maxsize);
33 return std::make_pair(
true, retval);
41 if (fwrite(data.data(), 1, data.size(), f) != data.size()) {
45 return fclose(f) == 0;
Path class wrapper to block calls to the fs::path(std::string) implicit constructor and the fs::path:...
FILE * fopen(const fs::path &p, const char *mode)
bool WriteBinaryFile(const fs::path &filename, const std::string &data)
Write contents of std::string to a file.
std::pair< bool, std::string > ReadBinaryFile(const fs::path &filename, size_t maxsize=std::numeric_limits< size_t >::max())
Read full contents of a file and return them in a std::string.