Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Boost.Nowide
cstdio.hpp
1//
2// Copyright (c) 2012 Artyom Beilis (Tonkikh)
3// Copyright (c) 2020 Alexander Grund
4//
5// Distributed under the Boost Software License, Version 1.0.
6// https://www.boost.org/LICENSE_1_0.txt
7
8#ifndef BOOST_NOWIDE_CSTDIO_HPP_INCLUDED
9#define BOOST_NOWIDE_CSTDIO_HPP_INCLUDED
10
12#include <cstdio>
13
14namespace boost {
15namespace nowide {
16#if !defined(BOOST_WINDOWS) && !defined(BOOST_NOWIDE_DOXYGEN)
17 using std::fopen;
18 using std::freopen;
19 using std::remove;
20 using std::rename;
21#else
22
26 BOOST_NOWIDE_DECL FILE* freopen(const char* file_name, const char* mode, FILE* stream);
30 BOOST_NOWIDE_DECL FILE* fopen(const char* file_name, const char* mode);
34 BOOST_NOWIDE_DECL int rename(const char* old_name, const char* new_name);
38 BOOST_NOWIDE_DECL int remove(const char* name);
39#endif
40 namespace detail {
41 BOOST_NOWIDE_DECL FILE* wfopen(const wchar_t* filename, const wchar_t* mode);
42 }
43} // namespace nowide
44} // namespace boost
45
46#endif
FILE * freopen(const char *file_name, const char *mode, FILE *stream)
Same as freopen but file_name and mode are UTF-8 strings.
int remove(const char *name)
Same as rename but name is UTF-8 string.
FILE * fopen(const char *file_name, const char *mode)
Same as fopen but file_name and mode are UTF-8 strings.
int rename(const char *old_name, const char *new_name)
Same as rename but old_name and new_name are UTF-8 strings.