Loading files
// Copyright (c) 1998-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
//!@file
//! Functions working with plain C strings
#ifndef _Standard_CString_HeaderFile
#define _Standard_CString_HeaderFile
#include <Standard_Macro.hxx>
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
#if defined(_MSC_VER)
#if !defined(strcasecmp)
#define strcasecmp _stricmp
#endif
#if !defined(strncasecmp)
#define strncasecmp _strnicmp
#endif
#endif
// C++ only definitions
#ifdef __cplusplus
#include <Standard_TypeDef.hxx>
//! Returns Standard_True if two strings are equal
inline bool IsEqual(const char* const theOne, const char* const theTwo)
{
return strcmp(theOne, theTwo) == 0;
}
#endif /* __cplusplus */
#ifdef __cplusplus
extern "C"
{
#endif /* __cplusplus */
//! Equivalent of standard C function atof() that always uses C locale
Standard_EXPORT double Atof(const char* theStr);
//! Optimized equivalent of standard C function strtod() that always uses C locale
Standard_EXPORT double Strtod(const char* theStr, char** theNextPtr);
//! Equivalent of standard C function printf() that always uses C locale
Standard_EXPORT int Printf(const char* const theFormat, ...)
#ifdef __GNUC__
__attribute__((format(printf, 1, 2)))
#endif
;
//! Equivalent of standard C function fprintf() that always uses C locale
Standard_EXPORT int Fprintf(FILE* theFile, const char* theFormat, ...)
#ifdef __GNUC__
__attribute__((format(printf, 2, 3)))
#endif
;
//! Equivalent of standard C function sprintf() that always uses C locale
Standard_EXPORT int Sprintf(char* theBuffer, const char* theFormat, ...)
#ifdef __GNUC__
__attribute__((format(printf, 2, 3)))
#endif
;
//! Equivalent of standard C function vsprintf() that always uses C locale.
//! Note that this function does not check buffer bounds and should be used with precaution
//! measures (only with format fitting into the buffer of known size).
//! @param[in][out] theBuffer string buffer to fill
//! @param[in] theFormat format to apply
//! @param[in] theArgList argument list for specified format
//! @return the total number of characters written, or a negative number on error
Standard_EXPORT int Vsprintf(char* theBuffer, const char* theFormat, va_list theArgList)
#ifdef __GNUC__
__attribute__((format(printf, 2, 0)))
#endif
;
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif
f2929057eThis file is pinned to the selected release. Download the original to open it in your design tool.