kb_machblue_core_string.c
上传用户:fy98168
上传日期:2015-06-26
资源大小:13771k
文件大小:3k
源码类别:

DVD

开发平台:

C/C++

  1. //*****************************************************************************
  2. //File Name: kb_machblue_core_string.c
  3. //
  4. //Description: string function
  5. //
  6. // used by Machblue to access the platform's string formatting 
  7. //
  8. //Author: steven
  9. //
  10. //Date:  2006.12.29
  11. //
  12. //Version:  v1.0
  13. //*****************************************************************************
  14. #include "ctype.h"
  15. #include <stdio.h> 
  16. #include "machblue_customer.h"
  17. #include "machblue_porting_core.h"
  18. /**
  19.  * Converts letter to upper case.
  20.  * @return upper case letter (locale dependent).
  21.  */
  22. int mb_toupper(int c)
  23. {
  24. return toupper(c);
  25. }
  26. /**
  27.  * Converts letter to lower case.
  28.  * @return lower case letter (locale dependent).
  29.  */
  30. int mb_tolower(int c)
  31. {
  32. return tolower(c);
  33. }
  34. /**
  35.  * Prints a formated string based on the specified format. The output
  36.  * is stored in the provided string.
  37.  * @return the number of characters printed.
  38.  */
  39. int mb_sprintf(mb_char_t *str,const mb_char_t *format,...)
  40. {
  41.     int numChars;
  42.     va_list args;
  43.     va_start( args, format);
  44.     numChars = mb_vsprintf(str, format, args) ;
  45.     va_end(args);
  46.    
  47.     return numChars ;
  48. }
  49. /**
  50.  * Prints a formated string based on the specified format. The intended output
  51.  * is stdout. It may be redirected at the customer discretion.
  52.  * @return the number of characters printed.
  53.  */
  54. int mb_printf(const mb_char_t *format,...)
  55. {
  56.     int numChars;
  57.     va_list args;
  58.     va_start( args, format);
  59.     numChars = mb_vprintf(format, args) ;
  60.     va_end(args);
  61.     fflush(stdout) ;
  62.  
  63.     return numChars ;
  64. }
  65. /**
  66.  * Prints a formated string based on the specified format (variable argument 
  67.  * list version). The output is stored in the provided string.
  68.  * @return the number of characters printed.
  69.  */
  70. int mb_vsprintf(mb_char_t *str,const mb_char_t *format,va_list args)
  71. {
  72.     return vsprintf(str, format, args) ;
  73. }
  74. /**
  75.  * Prints a formated string based on the specified format(variable argument 
  76.  * list version). The intended output is stdout. It may be redirected at the
  77.  * customer discretion.
  78.  * @return the number of characters printed.
  79.  */
  80. int mb_vprintf(const mb_char_t *format,va_list args)
  81. {
  82.     int numChars = vprintf(format, args) ;
  83.     fflush(stdout) ;
  84.  
  85.     return numChars ;
  86. }
  87. /**
  88.  * Compare two string.
  89.  * @return 0 as success,or other value as failure.
  90.  */
  91. int mb_strcmp(mb_char_t *s0,mb_char_t *s1)
  92. {
  93.     while(*s0!=''&&*s1!='')
  94.     {
  95.        if(*s0!=*s1)
  96.        return (*s0>*s1)?1:-1;
  97.       
  98.        s0++;
  99. s1++;
  100.     }
  101.    
  102.     if(*s0==*s1)
  103. return 0;
  104.     return (*s0>*s1)?1:-1;
  105. }