#include "stdafx.h" #include "strutil.h" int reset_buffer(void* pbuf, int idata, size_t ulen) { int ret = -1; if (pbuf){ memset(pbuf, idata, ulen); ret = 0; } return ret; } int rend_string(char* pSrc, int iflag) { int ret = -1; if (pSrc){ char* pindex = pSrc; while(*pindex != iflag){ pindex++; }; *pindex = '\0'; ret = 0; } return ret; } int fifter_string(char*pbuf, size_t usize, const char* psrc, const char cflag) { int ret = -1; int i = 0; int j = 0; size_t ulen = 0; const char* pindex = psrc; if (NULL == psrc){ return ret; } ulen = strlen(psrc); for (i=0; i 36 || radix <= 1 || NULL == pstring){ return 0; } while (v || tp == tmp) { i = v % radix; v = v / radix; if (i < 10) * tp++ = i + '0'; else *tp++ = i + 'a' - 10; } sp = pstring; while (tp > tmp) * sp++ = *--tp; *sp = 0; return pstring; } int get_interger_netaddr(char *strbuf, size_t ubufszie, const char* szip) { int ret = -1; unsigned long ulip = 0; if (NULL == strbuf || NULL == szip){ return ret; } ulip = inet_addr(szip); _ultoa(ulip, strbuf, 10); ret = 0; return ret; } int convert_interaddr_strip(char *strbuf, size_t ubufszie, const char* szinter_ip) { int ret = -1; char* strip = NULL; struct sockaddr_in addr = {0}; if (!szinter_ip || !strbuf){ return ret; } addr.sin_addr.s_addr = strtoul(szinter_ip, NULL, 10);//inet_addr(config->switch_server); strip = inet_ntoa(addr.sin_addr); if (strip){ size_t ulen = strlen(strip); if (ulen < ubufszie){ memcpy(strbuf, strip, ulen); ret = 0; } } return ret; } int connect_strings(char* strbuf, size_t ulen, const char* psrca, const char* pstr, const char* psrcb) { int ret = -1; size_t ulena = 0; size_t ulenb = 0; size_t ulenstr = 0; if(!psrca || !psrcb || !pstr){ return ret; } ulena = strlen(psrca); ulenb = strlen(psrcb); ulenstr = strlen(pstr); if (ulen > ulena + ulenb + ulenstr){ snprintf(strbuf, ulen, "%s%s%s", psrca, pstr, psrcb); ret = 0; } return ret; }