⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ofstd.h

📁 转化为DIB位图再显示出来的dicom文件C++代码
💻 H
📖 第 1 页 / 共 2 页
字号:
     *      and has to to be freed (using "delete[]") by the caller!  Do not pass a pointer to an     *      already allocated buffer to this function, the caller does not know the exact size anyway.     ** @param data Base64 encoded input data (possibly padded with '=' at the end)     *  @param result receives pointer to resulting buffer with binary data (big endian encoded)     ** @return length of the resulting binary data (0 if an error occurred, in this case the buffer     *    is deleted internally)     */    static size_t decodeBase64(const OFString &data,                               unsigned char *&result);    /** converts a floating-point number from an ASCII     *  decimal representation to internal double-precision format.     *  Unlike the atof() function defined in Posix, this implementation     *  is not affected by a locale setting, the radix character is always     *  assumed to be '.'     *  This implementation does not set errno if the input cannot be parsed     *  and it does not implement special handling for overflow/underflow     *  or NaN values.  However, a return code indicates whether or not     *  a successful conversion could be performed.     *  The precision of this implementation is limited to approx. 9     *  decimal digits.     *  The use of this implementation can be disabled by defining     *  the macro DISABLE_OFSTD_ATOF at compile time; in this case,     *  the locale dependent Posix implementation of sscanf is used and     *  the application is responsible for making sure that the Posix locale     *  is activated at all times.     *     *  @param s     *    A decimal ASCII floating-point number, optionally preceded by white     *    space. Must have form "-I.FE-X", where I is the integer part of the     *    mantissa, F is the fractional part of the mantissa, and X is the     *    exponent.  Either of the signs may be "+", "-", or omitted.  Either I     *    or F may be omitted, or both.  The decimal point isn't necessary     *    unless F is present. The "E" may actually be an "e".  E and X may both     *    be omitted (but not just one).     *  @param success pointer to return status code, may be NULL.     *    if present, a status code is stored in the variable pointed to by this     *    parameter.  The status is OFTrue if a conversion could be performed     *    and OFFalse if the string does not have the expected format.     *  @return     *    floating-point equivalent of string.     *    If a terminating character is found before any floating-point     *    digits, then zero is returned.     */     static double atof(const char *s,                        OFBool *success = NULL);     /** formats a floating-point number into an ASCII string.      *  This function works similar to sprintf(), except that this      *  implementation is not affected by a locale setting.      *  The radix character is always '.'.      *      *  This implementation guarantees that the given string size      *  is always respected by using strlcpy to copy the formatted      *  string into the target buffer.      *      *  The use of this implementation can be disabled by defining      *  the macro DISABLE_OFSTD_FTOA at compile time; in this case,      *  the locale dependent Posix implementation of sprintf is used and      *  the application is responsible for making sure that the Posix locale      *  is activated at all times.      *      *  @param target pointer to target string buffer      *  @param targetSize size of target string buffer      *  @param value double value to be formatted      *  @param flags processing flags. Any of the flags defined below      *    can be combined by bit-wise or.      *  @param width width from format (%8d), or 0      *  @param precision precision from format (%.3d), or -1      */     static void ftoa(char *target,                      size_t targetSize,                      double value,                      unsigned int flags = 0,                      int width = 0,                      int precision = -1);     /** @name ftoa() processing flags.      *  These flags can be combined by bit-wise or.      */     //@{     /// Use %e or %E conversion format instead of %g or %G     static const unsigned int ftoa_format_e;     /// Use %f or %F conversion format instead of %g or %G     static const unsigned int ftoa_format_f;     /// Use %E, %F or %G conversion format instead of %e, %f or %g     static const unsigned int ftoa_uppercase;     /** convert value to alternate form. The result will always contain      *  a decimal point, even if no digits follow the point. For g and G      *  conversions, trailing zeroes will not be removed from the result.      */     static const unsigned int ftoa_alternate;     /// left-justify number be within the field     static const unsigned int ftoa_leftadj;     /// pad with zeroes instead of blanks     static const unsigned int ftoa_zeropad;     //@}    /** Checks if a given string consists only of characters which are specified in a     *  given charset. Note that in case one of the parameters equals NULL, OFTrue will     *  be returned.     *  @param str String which shall be checked.     *  @param charset Possible character set for s.     *  @return OFTrue if the given string consists only of characters which are specified     *    in the given charset; OFFalse otherwise.     */     static OFBool stringMatchesCharacterSet( const char *str, const char *charset );    /** makes the current process sleep until seconds seconds have     *  elapsed or a signal arrives which is not ignored.     *  @param seconds number of seconds to sleep     *  @return Zero if the requested time has elapsed, or the number of seconds left to sleep.     */    static inline unsigned int sleep(unsigned int seconds)    {#if defined(HAVE_SLEEP) && !defined(HAVE_WINDOWS_H)      // we only use this call if HAVE_WINDOWS_H is undefined because      // MinGW has sleep() but no prototype      return ::sleep(seconds);#else      return my_sleep(seconds);#endif    } private:    /** private implementation of strlcpy. Called when strlcpy     *  is not available in the standard library.     *  @param dst destination buffer of size siz, must not be NULL     *  @param src source string, must not be NULL     *  @param siz size of destination buffer     *  @return the total length of the string the function tried to     *    create, i.e. strlen(src).     */    static size_t my_strlcpy(char *dst, const char *src, size_t siz);    /** private implementation of strlcat. Called when strlcat     *  is not available in the standard library.     *  @param dst destination buffer of size siz, must not be NULL     *  @param src source string, must not be NULL     *  @param siz size of destination buffer     *  @return the total length of the string the function tried to     *    create, i.e. the initial length of dst plus the length of src.     */    static size_t my_strlcat(char *dst, const char *src, size_t siz);    /** makes the current process sleep until seconds seconds have     *  elapsed or a signal arrives which is not ignored.     *  @param seconds number of seconds to sleep     *  @return Zero if the requested time has elapsed, or the number of seconds left to sleep.     */    static unsigned int my_sleep(unsigned int seconds);};#endif/* * * CVS/RCS Log: * $Log: ofstd.h,v $ * Revision 1.23  2005/12/08 16:06:04  meichel * Changed include path schema for all DCMTK header files * * Revision 1.22  2004/08/03 11:45:42  meichel * Headers libc.h and unistd.h are now included via ofstdinc.h * * Revision 1.21  2004/04/16 12:43:26  joergr * Restructured code to avoid default parameter values for "complex types" like * OFString. Required for Sun CC 2.0.1. * * Revision 1.20  2003/12/05 10:37:41  joergr * Removed leading underscore characters from preprocessor symbols (reserved * symbols). Updated copyright date where appropriate. * * Revision 1.19  2003/08/12 13:10:10  joergr * Improved implementation of normalizeDirName(). * * Revision 1.18  2003/07/17 14:53:24  joergr * Added new function searchDirectoryRecursively(). * Updated documentation to get rid of doxygen warnings. * * Revision 1.17  2003/07/04 13:31:51  meichel * Fixed issues with compiling with HAVE_STD_STRING * * Revision 1.16  2003/07/03 14:23:50  meichel * Minor changes to make OFStandard::sleep compile on MinGW * * Revision 1.15  2003/06/06 09:43:54  meichel * Added static sleep function in class OFStandard. This replaces the various *   calls to sleep(), Sleep() and usleep() throughout the toolkit. * * Revision 1.14  2003/04/17 15:50:51  joergr * Replace LF and CR by &#10; and &#13; in XML mode instead of &#182; (para). * * Revision 1.13  2003/03/12 14:57:47  joergr * Added apostrophe (') to the list of characters to be replaced by the * corresponding HTML/XML mnenonic. * * Revision 1.12  2002/12/13 13:45:33  meichel * Removed const from decodeBase64() return code, needed on MIPSpro * * Revision 1.11  2002/12/05 13:49:36  joergr * Moved definition of ftoa() processing flags to implementation file to avoid * compiler errors (e.g. on Sun CC 2.0.1). * * Revision 1.10  2002/12/04 09:13:00  meichel * Implemented a locale independent function OFStandard::ftoa() that *   converts double to string and offers all the flexibility of the *   sprintf family of functions. * * Revision 1.9  2002/11/27 11:23:06  meichel * Adapted module ofstd to use of new header file ofstdinc.h * * Revision 1.8  2002/07/02 15:17:57  wilkens * Added function OFStandard::stringMatchesCharacterSet(...). * * Revision 1.7  2002/06/20 12:02:38  meichel * Implemented a locale independent function OFStandard::atof() that *   converts strings to double and optionally returns a status code * * Revision 1.6  2002/05/14 08:12:51  joergr * Added support for Base64 (MIME) encoding and decoding. * * Revision 1.5  2002/04/25 09:13:52  joergr * Moved helper function which converts a conventional character string to an * HTML/XML mnenonic string (e.g. using "&lt;" instead of "<") from module * dcmsr to ofstd. * * Revision 1.4  2002/04/11 12:06:42  joergr * Added general purpose routines to check whether a file exists, a path points * to a directory or a file, etc. * * Revision 1.3  2001/12/04 16:57:15  meichel * Implemented strlcpy and strlcat routines compatible with the *   corresponding BSD libc routines in class OFStandard * * Revision 1.2  2001/06/01 15:51:35  meichel * Updated copyright header * * Revision 1.1  2000/03/02 12:42:57  joergr * Added new class comprising all general purpose helper functions (first * entry: strlcpy - a mixture of strcpy and strncpy). * * * */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -