//获取本机地址列表之Unicode版本
//Author:zerosoul
#include "stdafx.h"
#include "winsock2.h"
#include "tchar.h"
#pragma comment(lib, "Ws2_32.lib")
int _tmain(int argc, TCHAR* argv[])
{
WSADATA WSAData;
if (WSAStartup(MAKEWORD(2,2), &WSAData)!=0)
{
_tprintf(_T("WSAStartup Error:[%d]"),WSAGetLastError());
}
DWORD dwIP = 0;
int i = 0;
struct hostent* lpHst = NULL;
char HostName[256] = {0};
gethostname(HostName,256);
lpHst = gethostbyname(HostName);
while( lpHst->h_addr_list[i] != NULL )
{
dwIP = *(DWORD*)lpHst->h_addr_list[i++];
SOCKADDR_IN Addr = {0};
Addr.sin_family = AF_INET; //这个必须设置,否则WSAAddressToString()会报错
Addr.sin_addr.s_addr = dwIP;
TCHAR strAddr[32] = {0};
DWORD addrLen = 32;
//关键是下面这句,没有ANSI版本的inet_ntoa()那么简单
if (SOCKET_ERROR == WSAAddressToString((struct sockaddr *)&Addr,sizeof(Addr),NULL,strAddr,&addrLen))
{
_tprintf(_T("WSAAddressToString() Error:[%d]\n"),WSAGetLastError());
}
_tprintf(_T("IPAddr%d : %s\n"),i,strAddr);
}
return 0;
}
分享到:
相关推荐
因此,在商业或发布产品时,必须获得Unicode联盟的明确许可,并且不能从这些图表中直接提取字体或字形数据用于其他用途。 总结上述信息,Unicode编码表是一个全面的国际标准,用于确保所有文字系统中的字符能够被...
在VB(Visual Basic)编程中,获取本机IP地址列表是一项常见的任务,特别是在网络编程或者系统信息显示的应用中。这个任务可以通过使用Windows API(应用程序接口)来实现,API提供了访问操作系统底层功能的能力。...
虽然可以免费用于个人或内部业务用途,但如果想要将其整合到产品或出版物中,则需要获得Unicode联盟的明确授权。 #### 六、Unicode V6.1 的未来发展 随着全球化趋势的加深和技术的发展,Unicode标准将继续演进和...
在本篇文章中,我们将深入探讨如何在Delphi XE中获取程序的版本信息。 首先,了解程序版本信息的基本结构。通常,程序版本信息包含主版本号、次版本号、修订号和构建号,例如“1.2.3.4”。这些数值可以用于区分不同...
本篇文章主要围绕《Windows程序设计》一书中的第二章内容展开讨论,重点介绍了如何理解和实现UNICODE版本的程序设计。通过实际操作和案例分析,作者分享了在Windows环境下进行UNICODE编程的一些关键点和技术细节。 ...
本篇将详细介绍如何在VC++中使用API函数获取EXE文件的版本号。 首先,我们需要了解的是`Win32 API`中的`GetFileVersionInfo`函数,它是用于读取文件版本信息的关键函数。这个函数会返回一个指向文件版本信息缓冲区...
但是,用户不能将这些编码表整体或部分地纳入任何产品、出版物或其他形式中分发,除非获得Unicode联盟的明确书面许可。如果需要在这些编码表中提供链接,则不受此限制。同时,编码表制作过程中使用的字体和字体数据...
《Unicode码表(Version 13.0).pdf》是一个重要的文档,它包含了Unicode标准的第13.0版本中的所有字符编码表和字符名称列表。Unicode标准是全球信息技术领域中一个关键的基础,旨在为世界上所有的字符提供一个统一的...
通过这个版本,开发者可以获取到最新的字符宽度分类,以确保他们的软件能够准确无误地处理各种东亚字符,提供良好的用户体验。 此版本的更新可能包括对新添加的Unicode字符的宽度定义、对已有字符宽度分类的调整,...
源码示例可能会展示如何向Unicode列表框添加项目、设置字体、获取选中项等操作,帮助理解Unicode列表框的使用方法。 2. 超级列表框: 超级列表框相较于普通列表框,功能更为强大。它可以显示多列数据,并支持自定义...
本资源主要关注的是“十进制与Unicode”之间的转换,这在Java编程中尤其常见,因为Java使用Unicode作为其内部字符集。Unicode是一个包含世界上几乎全部字符的编码标准,而十进制则是我们日常计算中最常用的数制系统...
例如,Unicode 6.1版本的核心规范是由Unicode联盟的一系列专家共同编纂完成的,这些专家包括但不限于Julie D. Allen、Deborah Anderson、Joe Becker等人。书中可能会提及一些制造商和销售商用来区分其产品的设计名称...
在Microsoft Visual C++ 6.0 (VC6)中使用MFC进行开发时,有时我们需要支持Unicode字符集,以处理更广泛的字符...因此,如果条件允许,建议升级到更新的Visual Studio版本,以便获得更好的Unicode支持和更多现代功能。
### Unicode转换成GBK知识点解析 #### 一、前言 在多语言环境下,字符编码转换是常见的需求之一。Unicode作为一种国际标准的字符编码方案,能够支持世界上几乎所有已知的文字系统,而GBK则是一种用于简体中文环境...
随着时间的发展,Unicode版本不断更新,添加了更多表情符号,涵盖人像、动物、食物、活动、旗帜等众多类别,满足了多样化的表达需求。 在描述中提到的“图片可以参考下”,可能是指在实际使用Unicode表情时,有时会...
- `codePointAt()`和`fromCodePoint()`:这两个方法分别用于获取和创建Unicode码点。`codePointAt()`返回一个字符串中指定位置的Unicode码点,`fromCodePoint()`则根据码点创建字符。 4. Unicode匹配与替换: - ...
在项目文件列表中,`d.cpp`可能是实现这个功能的源代码文件,而`unicode.dsp`和`unicode.dsw`是Visual Studio的项目文件,用于管理源代码和编译设置。`unicode.ncb`、`unicode.opt`和`unicode.plg`则是Visual Studio...
3. **版权声明**:虽然可以自由地将代码图表用于个人或内部业务用途,但将其整合到产品或出版物中则需获得Unicode联盟的书面许可。此外,不得未经许可提取或使用制作代码图表所用的字体数据。 #### 五、获取更多...