stringconversion.h
Go to the documentation of this file.
1 /****
2  * Sming Framework Project - Open Source framework for high efficiency native ESP8266 development.
3  * Created 2015 by Skurydin Alexey
4  * http://github.com/SmingHub/Sming
5  * All files of the Sming Core are provided under the LGPL v3 license.
6  *
7  * StringConversion.h
8  *
9  * Created on: 28 ���. 2015 �.
10  * Author: Anakonda
11  *
12  ****/
13 
14 #pragma once
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 /*
21  * Since C does not support default func parameters, we define inline versions which
22  * translate to ltoa_wp, ultoa_wp, lltoa_wp and ulltoa_wp functions.
23  */
24 
25 extern char* ltoa_wp(long val, char* buffer, int base, int width, char pad);
26 
27 static inline char* ltoa_w(long val, char* buffer, int base, int width)
28 {
29  return ltoa_wp(val, buffer, base, width, ' ');
30 }
31 
32 static inline char* ltoa (long val, char* buffer, int base)
33 {
34  return ltoa_wp(val, buffer, base, 0, ' ');
35 }
36 
37 static inline char* itoa (int val, char* buffer, int base)
38 {
39  return ltoa_wp(val, buffer, base, 0, ' ');
40 }
41 
42 extern char* ultoa_wp(unsigned long val, char* buffer, unsigned int base, int width, char pad);
43 
44 static inline char* ultoa_w(unsigned long val, char* buffer, unsigned int base, int width)
45 {
46  return ultoa_wp(val, buffer, base, width, ' ');
47 }
48 
49 static inline char* ultoa(unsigned long val, char* buffer, unsigned int base)
50 {
51  return ultoa_wp(val, buffer, base, 0, ' ');
52 }
53 
54 extern char* lltoa_wp(long long val, char* buffer, int base, int width, char pad);
55 
56 static inline char* lltoa_w(long long val, char* buffer, int base, int width)
57 {
58  return lltoa_wp(val, buffer, base, width, ' ');
59 }
60 
61 static inline char* lltoa(long long val, char* buffer, int base)
62 {
63  return lltoa_wp(val, buffer, base, 0, ' ');
64 }
65 
66 
67 extern char* ulltoa_wp(unsigned long long val, char* buffer, unsigned int base, int width, char pad);
68 
69 static inline char* ulltoa_w(unsigned long long val, char* buffer, unsigned int base, int width)
70 {
71  return ulltoa_wp(val, buffer, base, width, ' ');
72 }
73 
74 static inline char* ulltoa(unsigned long long val, char* buffer, unsigned int base)
75 {
76  return ulltoa_wp(val, buffer, base, 0, ' ');
77 }
78 
79 
80 extern char* itoa(int, char*, int);
81 
82 extern char *dtostrf_p(double floatVar, int minStringWidthIncDecimalPoint, int numDigitsAfterDecimal, char *outputBuffer, char pad);
83 
84 static inline char *dtostrf(double floatVar, int minStringWidthIncDecimalPoint, int numDigitsAfterDecimal, char *outputBuffer)
85 {
86  return dtostrf_p(floatVar, minStringWidthIncDecimalPoint, numDigitsAfterDecimal, outputBuffer, ' ');
87 }
88 
89 long atol(const char *nptr);
90 extern long os_strtol(const char* str, char** endptr, int base);
91 extern double os_strtod(const char* str, char** endptr);
92 double os_atof(const char* s);
93 
94 #ifdef __cplusplus
95 }
96 #endif
static char * lltoa(long long val, char *buffer, int base)
Definition: stringconversion.h:61
char * ulltoa_wp(unsigned long long val, char *buffer, unsigned int base, int width, char pad)
static char * lltoa_w(long long val, char *buffer, int base, int width)
Definition: stringconversion.h:56
static char * ultoa(unsigned long val, char *buffer, unsigned int base)
Definition: stringconversion.h:49
#define str(s)
Definition: testrunner.h:124
static char * ulltoa_w(unsigned long long val, char *buffer, unsigned int base, int width)
Definition: stringconversion.h:69
static char * ultoa_w(unsigned long val, char *buffer, unsigned int base, int width)
Definition: stringconversion.h:44
static char * ltoa(long val, char *buffer, int base)
Definition: stringconversion.h:32
long os_strtol(const char *str, char **endptr, int base)
static char * dtostrf(double floatVar, int minStringWidthIncDecimalPoint, int numDigitsAfterDecimal, char *outputBuffer)
Definition: stringconversion.h:84
double os_strtod(const char *str, char **endptr)
static char * ulltoa(unsigned long long val, char *buffer, unsigned int base)
Definition: stringconversion.h:74
static char * itoa(int val, char *buffer, int base)
Definition: stringconversion.h:37
char * dtostrf_p(double floatVar, int minStringWidthIncDecimalPoint, int numDigitsAfterDecimal, char *outputBuffer, char pad)
char * lltoa_wp(long long val, char *buffer, int base, int width, char pad)
char * ultoa_wp(unsigned long val, char *buffer, unsigned int base, int width, char pad)
long atol(const char *nptr)
double os_atof(const char *s)
static char * ltoa_w(long val, char *buffer, int base, int width)
Definition: stringconversion.h:27
char * ltoa_wp(long val, char *buffer, int base, int width, char pad)