// // Created by CFIF on 10.09.22. // #ifndef ASCIISTRINGPARSINGUTILS_ASCIISTRINGPARSINGUTILS_H #define ASCIISTRINGPARSINGUTILS_ASCIISTRINGPARSINGUTILS_H #include #include "stdint.h" int64_t iAsciiStringParseSignedLongDecimalNumber(char *str, const char *strEnd); uint64_t iAsciiStringParseUnsignedLongDecimalNumber(char *str, const char *strEnd); double dAsciiStringParseDouble(char *str, const char *strEnd); char *xAsciiStringSkipChar(char *str, char const *strEnd, char symbol); #define xAsciiStringSkipSpace(STR, STR_END) xAsciiStringSkipChar(STR,STR_END,' ') char *xAsciiStringSeekChar(char *str, char const *strEnd, char symbol); uint8_t iAsciiStringMoveToNextParsingBlock(char **blockBeginPos, char **blockDividerPos, char *strEnd, char divider); uint8_t iAsciiStringParseHexByte(const char *str); size_t iAsciiStringParseHexBytes(uint8_t *bytesData, char *str, size_t stringLen); #define BIN_FROM_HEX(DATA,LEN,HEX_STRING) \ uint8_t DATA[(sizeof(HEX_STRING)-1)/2]; \ size_t LEN = iAsciiStringParseHexBytes(DATA, HEX_STRING, sizeof(HEX_STRING) - 1); #endif //ASCIISTRINGPARSINGUTILS_ASCIISTRINGPARSINGUTILS_H