`

网络编程之:IP的ULONG方式字符串方式的相互转化

阅读更多

// IpAndStr.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <WinSock2.h>
#include <Windows.h>
#include <iostream>
#include <string>
using namespace std;

#pragma comment(lib, "ws2_32.lib")

string GetIpFromULong(unsigned long uIp)
{
	in_addr addr;

	memcpy(&addr, &uIp, sizeof(uIp));

	string strIp = inet_ntoa(addr);

	return strIp;
}


int main(int aargc, char* argv[])
{
	in_addr addr1;
	unsigned long uIp = 0;

	uIp = inet_addr("127.0.0.1");
	memcpy(&addr1, &uIp, sizeof(uIp));

	//cout << "strip = " << inet_ntoa(addr1) << endl;

	string strIp = GetIpFromULong(uIp);

	cout << "cur ip = " << strIp.c_str() << endl;

/*	struct in_addr addr1,addr2;
	unsigned long l1,l2;

	l1 = inet_addr("192.168.0.74");
	l2 = inet_addr("211.100.21.179");
	memcpy(&addr1, &l1, 4);
	memcpy(&addr2, &l2, 4);
	printf("%s : %s\n", inet_ntoa(addr1), inet_ntoa(addr2)); //注意这一句的运行结果
	printf("%s\n", inet_ntoa(addr1));
	printf("%s\n", inet_ntoa(addr2));*/

	return 0;
}
 
分享到:
评论

相关推荐

    GetIP PB获取IP的DLL

    Function uLong GetHostIpList(ref string hostAddressip) Library "GetIP60.dll" PB11.2调用定义: Function uLong GetHostIpList(ref string hostAddressip) Library "GetIP60.dll" ALIAS FOR "GetHostIpList;ansi...

    delphi 硬盘cpu号bios号网卡号等

    HeaderLength : ULONG; Signature : Array[0..7] of Char; Timeout : ULONG; ControlCode : ULONG; ReturnCode : ULONG; Length : ULONG; end; SRB_IO_CONTROL = TSrbIoControl; PSrbIoControl = ^...

    网络编程实验-ping实验报告.doc

    网络编程-PING程序设计实验指导书 一.实验目的 (1)熟悉原始套接字编程。 (2)了解网络的结构。 (3)了解网络传输底层协议。 二.实验要求 PING程序是用于测试网络连通性的程序。要求在WINDOWS环境下实现基本的...

    标准MFC WinSock ActiveX控件开发实例

    case VT_BSTR://字符串型 IPAddress = CString(RemoteHost.bstrVal); break; case VT_BYREF|VT_I1://CHAR * IPAddress.Format("%s",RemoteHost.pcVal);//RemoteHost.pbstrVal); break; default: ...

    网络编程之PING实现

    ULONG timestamp; }IcmpHeader; #define STATUS_FAILED 0xFFFF #define DEF_PACKET_SIZE 32 #define DEF_PACKET_NUMBER 4 /* 发送数据报的个数 */ #define MAX_PACKET 1024 #define xmalloc(s) HeapAlloc...

    pb9 调用 des64.dll 做的加密解密demo

    描述: 对一个字符串加密 Return None Access public Argument DataType Description Szin string 需加密的字符串 szout string 加密后输出字符串 key string 密钥 inlen int 需加密的字符串的长度 flag ...

    PB操作系统服务的简单例子

    FUNCTION ulong CreateService(ulong hSCManager,ref string lpServiceName,ref string lpDisplayName,ulong dwDesiredAccess,ulong dwServiceType,ulong dwStartType,ulong dwErrorControl,ref string ...

    OllyDbg汇编/反汇编引擎

    汇编功能: int Assemble(char *cmd, ulong ip, t_asmmodel *model, int attempt, int constsize, char *errtext) 返回值是指令长度 cmd指向汇编指令字符串的指针 ip该句汇编指令在远程进程内存中的地址 model指向t...

    Windows Media Player 控件 For BCB

    Windows Media Player 控件 For BCB,解决了 E2015 Ambiguity between 'ULONG_PTR' and 'Wmplib_tlb::ULONG_PTR' 的错误,可以安装在BCB6下,已经测试通过。里面有WMP.bpk,可以安装。

    OllyDBG反汇编引擎:ODDisasm 使用(中文翻译)

    这个文档时关于Ollydbg反汇编引擎的使用的, 很不错, 我在网上找了很久了, 一直好像都没有看到太多这方面的资料, 最后在看雪的外文翻译区看到有大牛翻译的文档, 我大喜. 看了感觉不错了..哥们下载了给个评论, 我上传...

    服务器回射程序设计.doc

    "网络编程技术实验报告 " "实验名称"实验四 基于数据报套接字的回射程序设计与实验 " "队 别 " "【实验目的】 " "巩固套接字编程 " "熟悉流式套接字编程 " "【实验要求】 " "使用流式套接字编程实现回射程序,具体...

    GDI+编程示例,几步搞定的需添加的代码如下

    添加现有项GDIplus.Lib到工程中在**view.h文件中添加两行:private : ULONG_PTR gdiplusToken;Stdafx.h文件的最后添加两行:#include&lt;gdiplus.h&gt;//示例,这两行using namespace Gdiplus;// CGDIFirstView 消息处理...

    vc6.0的扩展文件 part2

    typedef ULONG DWORD_PTR 实际上,这不是一种好的解决方案,因为除了这一个定义,可能还有很多其它的定义,也就是一系列的定义都需要你一个一个去做 经过对比,发现vc98/include/中的basetsd.h中没有DWORD_PTR的定义...

    vc6.0的扩展文件 part1

    typedef ULONG DWORD_PTR 实际上,这不是一种好的解决方案,因为除了这一个定义,可能还有很多其它的定义,也就是一系列的定义都需要你一个一个去做 经过对比,发现vc98/include/中的basetsd.h中没有DWORD_PTR的定义...

    uboott移植实验手册及技术文档

    extern ulong nand_probe(ulong physadr); static inline void NF_Reset(void) { int i; NF_SetCE(NFCE_LOW); NF_Cmd(0xFF); /* reset command */ for(i = 0; i ; i++); /* tWB = 100ns. */ NF_WaitRB()...

    GDI png透明按钮 png图片适应按钮尺寸 代码 内附使用方法

    编程环境VS2010 GdipButton.h GdipButton.cpp CGdiPlusBitmap.h MemDC.h stdafx.h文件添加 #include #pragma comment(lib, "gdiplus.lib") using namespace Gdiplus; Cxx.h中(注意...

    以下存储库包含SUNBURST的修改版本,其中包含cracekd哈希,注释和批注。-.NET开发

    以下存储库包含此反编译类的修改版本,并进行了以下修改:反混淆字符串带有每个FNV-1a哈希值的破解值的内联注释内联注释内联注释的示例:私有静态只读ulong [] assemblyTimeStamps = new ulong [ ] {...

    发送TCP数据包源代码

    /定义IP首部结构体 typedef struct _iphdr { UCHAR h_lenver; //4位IP版本号,4位首部长度 UCHAR tos; //8位服务类型(TOS) USHORT total_len; //16位总长度(字节) USHORT ident; //16位标识 USHORT frag_...

    读取BIOS信息,供用户查看参考

    //缓存指针,访问物理内存时,此处指向UNICODE字符串"\device\physicalmemory" } UNICODE_STRING,*PUNICODE_STRING; typedef struct _OBJECT_ATTRIBUTES { ULONG Length;//长度 18h HANDLE RootDirectory;// ...

Global site tag (gtag.js) - Google Analytics