123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- #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<ulen && i<usize; i++){
- if (pindex[i] != cflag){
- pbuf[j++] = pindex[i];
- }
- }
- if (j == ulen - 2){
- ret = 0;
- }
- return ret;
- }
- /*ÎÞ·ûºÅ³¤ÕûÐÎת×Ö·ûÐÍ*/
- char* _ultoa(unsigned long value, char* pstring, int radix)
- {
- char tmp[33] = { 0 };
- char* tp = tmp;
- long i;
- unsigned long v = value;
- char* sp;
- if (radix > 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;
- }
|