X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/4388f060552cc537e71e957d32f35e9d75a61233..3d1f044b704633e2e541231cd17ae9ecf9ad5c7a:/icuSources/io/unicode/ustdio.h diff --git a/icuSources/io/unicode/ustdio.h b/icuSources/io/unicode/ustdio.h index 145b1f44..a2ad3c24 100644 --- a/icuSources/io/unicode/ustdio.h +++ b/icuSources/io/unicode/ustdio.h @@ -1,7 +1,9 @@ +// © 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html /* ****************************************************************************** * -* Copyright (C) 1998-2011, International Business Machines +* Copyright (C) 1998-2015, International Business Machines * Corporation and others. All Rights Reserved. * ****************************************************************************** @@ -29,6 +31,9 @@ #include "unicode/ucnv.h" #include "unicode/utrans.h" #include "unicode/localpointer.h" +#include "unicode/unum.h" + +#if !UCONFIG_NO_CONVERSION /* TODO @@ -240,6 +245,29 @@ u_fopen(const char *filename, const char *locale, const char *codepage); +/** + * Open a UFILE with a UChar* filename + * A UFILE is a wrapper around a FILE* that is locale and codepage aware. + * That is, data written to a UFILE will be formatted using the conventions + * specified by that UFILE's Locale; this data will be in the character set + * specified by that UFILE's codepage. + * @param filename The name of the file to open. + * @param perm The read/write permission for the UFILE; one of "r", "w", "rw" + * @param locale The locale whose conventions will be used to format + * and parse output. If this parameter is NULL, the default locale will + * be used. + * @param codepage The codepage in which data will be written to and + * read from the file. If this paramter is NULL the system default codepage + * will be used. + * @return A new UFILE, or NULL if an error occurred. + * @stable ICU 54 + */ +U_STABLE UFILE* U_EXPORT2 +u_fopen_u(const UChar *filename, + const char *perm, + const char *locale, + const char *codepage); + /** * Open a UFILE on top of an existing FILE* stream. The FILE* stream * ownership remains with the caller. To have the UFILE take over @@ -327,7 +355,7 @@ U_DEFINE_LOCAL_OPEN_POINTER(LocalUFILEPointer, UFILE, u_fclose); U_NAMESPACE_END -#endif +#endif // U_SHOW_CPLUSPLUS_API /** * Tests if the UFILE is at the end of the file stream. @@ -364,7 +392,7 @@ u_frewind(UFILE *file); /** * Get the FILE* associated with a UFILE. * @param f The UFILE - * @return A FILE*, owned by the UFILE. The FILE must not be closed. + * @return A FILE*, owned by the UFILE. (The FILE must not be modified or closed) * @stable ICU 3.0 */ U_STABLE FILE* U_EXPORT2 @@ -432,12 +460,19 @@ u_fsetcodepage(const char *codepage, /** * Returns an alias to the converter being used for this file. * @param f The UFILE to get the value from - * @return alias to the converter + * @return alias to the converter (The converter must not be modified or closed) * @stable ICU 3.0 */ U_STABLE UConverter* U_EXPORT2 u_fgetConverter(UFILE *f); #if !UCONFIG_NO_FORMATTING +/** + * Returns an alias to the number formatter being used for this file. + * @param f The UFILE to get the value from + * @return alias to the number formatter (The formatter must not be modified or closed) + * @stable ICU 51 +*/ + U_STABLE const UNumberFormat* U_EXPORT2 u_fgetNumberFormat(UFILE *f); /* Output functions */ @@ -446,9 +481,9 @@ U_STABLE UConverter* U_EXPORT2 u_fgetConverter(UFILE *f); * @param patternSpecification A pattern specifying how u_printf will * interpret the variable arguments received and format the data. * @return The number of Unicode characters written to stdout - * @draft ICU 49 + * @stable ICU 49 */ -U_DRAFT int32_t U_EXPORT2 +U_STABLE int32_t U_EXPORT2 u_printf(const char *patternSpecification, ... ); @@ -487,19 +522,19 @@ u_vfprintf(UFILE *f, * @param patternSpecification A pattern specifying how u_printf_u will * interpret the variable arguments received and format the data. * @return The number of Unicode characters written to stdout - * @draft ICU 49 + * @stable ICU 49 */ -U_DRAFT int32_t U_EXPORT2 +U_STABLE int32_t U_EXPORT2 u_printf_u(const UChar *patternSpecification, ... ); /** * Get a UFILE for stdout. * @return UFILE that writes to stdout - * @draft ICU 49 + * @stable ICU 49 */ -U_DRAFT UFILE * U_EXPORT2 -u_get_stdout(); +U_STABLE UFILE * U_EXPORT2 +u_get_stdout(void); /** * Write formatted data to a UFILE. @@ -975,6 +1010,8 @@ u_vsscanf_u(const UChar *buffer, const UChar *patternSpecification, va_list ap); + +#endif #endif #endif