[ CCUnit project page ] [ CCUnit home page ]

Convert value to string
[Assert]

Make value to string. [詳細]

Convert value to stringのコラボレーション図

ccunit_assert_format_TYPE

snprintf format string for each types.



const char * _ccunit_assert_format_char = "%c"
const char * _ccunit_assert_format_u_char = "%c"
const char * _ccunit_assert_format_int = "%d"
const char * _ccunit_assert_format_u_int = "%u"
const char * _ccunit_assert_format_short = "%hd"
const char * _ccunit_assert_format_u_short = "%hu"
const char * _ccunit_assert_format_long = "%ld"
const char * _ccunit_assert_format_u_long = "%lu"
const char * _ccunit_assert_format_float = "%f"
const char * _ccunit_assert_format_double = "%f"
const char * _ccunit_assert_format__ccunit_str_t = "%s"
const char * _ccunit_assert_format__ccunit_ptr_t = "%p"

Value to string definitions

Make value to string.

引数:
TYP type of value.
CAPACITY string size.


 DEF_VALUE_TO_STRING (char, 6)
 DEF_VALUE_TO_STRING (u_char, 6)
 DEF_VALUE_TO_STRING (int, 12)
 DEF_VALUE_TO_STRING (u_int, 12)
 DEF_VALUE_TO_STRING (short, 8)
 DEF_VALUE_TO_STRING (u_short, 8)
 DEF_VALUE_TO_STRING (long, 12)
 DEF_VALUE_TO_STRING (u_long, 12)
 DEF_VALUE_TO_STRING (float, 24)
 DEF_VALUE_TO_STRING (double, 24)
 DEF_VALUE_TO_STRING (_ccunit_str_t, 32)
 DEF_VALUE_TO_STRING (_ccunit_ptr_t, 24)
#define DEF_VALUE_TO_STRING(TYP, CAPACITY)

説明

Make value to string.


マクロ定義

#define DEF_VALUE_TO_STRING (   TYP,
  CAPACITY 
)
値:
static char* TYP ## _to_string (TYP value)                      \
  {                                                             \
    char* str = NULL;                                           \
    int require = 0;                                            \
    int capacity = CAPACITY;                                    \
    for (str = malloc (capacity);                               \
         str != NULL;                                           \
         str = realloc (str, capacity))                         \
      {                                                         \
        require = snprintf (str, capacity,                      \
                            _ccunit_assert_format_ ## TYP,      \
                            value);                             \
        if (require < 0)                                        \
          capacity *= 2;                                        \
        else if (require < capacity)                            \
          break;                                                \
        else                                                    \
          capacity = require + 1;                               \
      }                                                         \
    return str;                                                 \
  }

関数

DEF_VALUE_TO_STRING ( char  ,
 
)
DEF_VALUE_TO_STRING ( _ccunit_ptr_t  ,
24   
)
DEF_VALUE_TO_STRING ( _ccunit_str_t  ,
32   
)
DEF_VALUE_TO_STRING ( double  ,
24   
)
DEF_VALUE_TO_STRING ( float  ,
24   
)
DEF_VALUE_TO_STRING ( u_long  ,
12   
)
DEF_VALUE_TO_STRING ( long  ,
12   
)
DEF_VALUE_TO_STRING ( u_short  ,
 
)
DEF_VALUE_TO_STRING ( short  ,
 
)
DEF_VALUE_TO_STRING ( u_int  ,
12   
)
DEF_VALUE_TO_STRING ( int  ,
12   
)
DEF_VALUE_TO_STRING ( u_char  ,
 
)

変数

const char* _ccunit_assert_format_char = "%c"
const char* _ccunit_assert_format_double = "%f"
const char* _ccunit_assert_format_float = "%f"
const char* _ccunit_assert_format_int = "%d"
const char* _ccunit_assert_format_long = "%ld"
const char* _ccunit_assert_format_short = "%hd"
const char* _ccunit_assert_format_u_char = "%c"
const char* _ccunit_assert_format_u_int = "%u"
const char* _ccunit_assert_format_u_long = "%lu"
const char* _ccunit_assert_format_u_short = "%hu"
SourceForge.jp hosts this site. Send comments to: CCUnit Developer