- 论坛徽章:
- 0
|
标准的函数库没有提供 _TCHAR 版的 inet_addr 再写 UNICODE 程序的时候很不方便(用wcstombs太罗嗦了),所以自己弄了个,请各位大牛看看哪里要修正的,谢了。
- unsigned long _ttonl(const _TCHAR* const s)
- {
- unsigned long i = 1, j = 0;
- unsigned long n = 0, l = 0;
- const _TCHAR *p = (const _TCHAR*)s;
- while (*p != NULL && j < 32)
- {
- if (*p > _T('0') && *p < _T('9'))
- {
- l *= i;
- l += (*p -_T('0'));
- i *= 10;
- }
- if (*p == _T('.') || *p == _T(',') || *(p+1) == NULL || j >= 24 )
- {
- l <<= j;
- n |= l;
- j += 8;
- i = 1;
- l = 0;
- }
-
- p++;
- }
-
- return n;
- }
复制代码
[ 本帖最后由 Momoass 于 2007-1-17 04:13 编辑 ] |
|