VC++中如何把一个字符串中的最后一个数字提取出来
VC++中怎么把一个字符串中的最后一个数字提取出来?
我在这个字符串中写了一个IP(127.0.0.1),我想对这个IP的最后一位进行操作,怎么才能把最后一位提取出来,请高手帮忙,谢谢!
------解决方案--------------------
最后一位数的话,简单点做就是str=str.right(str.Getlenth()-1);
------解决方案--------------------
说错了,应该是str=str.right(1),呵呵
------解决方案--------------------
right(1)只能截取最后一位数字,两位就不行了。
你要先查找最后一个点的位置,然后截取点之后的字符串。
CString有提供这类的方法。
------解决方案--------------------
用 inet_addr 将 IP 字符串转换为一个 ULONG 型 IP 数值。
其四个字节分别保存着 IP 地址的四个数字,想取哪个都行:
------解决方案--------------------
CString IP("abcd127.0.0.1efgh");
int x = IP.ReverseFind('.'); //找到最后一个.的索引
ASSERT( x == 11 );
IP.Delete(0,x+1); //IP == "1efgh";
int value = atol(IP);
------解决方案--------------------
CString::ReverseFind(_T('.'))
------解决方案--------------------
int值你不是得到了么?
------解决方案--------------------
inet_addr
我在这个字符串中写了一个IP(127.0.0.1),我想对这个IP的最后一位进行操作,怎么才能把最后一位提取出来,请高手帮忙,谢谢!
vc++
------解决方案--------------------
最后一位数的话,简单点做就是str=str.right(str.Getlenth()-1);
------解决方案--------------------
说错了,应该是str=str.right(1),呵呵
------解决方案--------------------
right(1)只能截取最后一位数字,两位就不行了。
你要先查找最后一个点的位置,然后截取点之后的字符串。
CString有提供这类的方法。
------解决方案--------------------
用 inet_addr 将 IP 字符串转换为一个 ULONG 型 IP 数值。
其四个字节分别保存着 IP 地址的四个数字,想取哪个都行:
#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib")
int main(void)
{
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2, 2), &wsaData) == 0) {
struct in_addr addr;
addr.S_un.S_addr = inet_addr("127.0.0.1");
if (addr.S_un.S_addr != INADDR_ANY &&
addr.S_un.S_addr != INADDR_NONE) {
printf("%u.%u.%u.%u\n",
addr.S_un.S_un_b.s_b1,
addr.S_un.S_un_b.s_b2,
addr.S_un.S_un_b.s_b3,
addr.S_un.S_un_b.s_b4);
WSACleanup();
}
}
return 0;
}
------解决方案--------------------
CString IP("abcd127.0.0.1efgh");
int x = IP.ReverseFind('.'); //找到最后一个.的索引
ASSERT( x == 11 );
IP.Delete(0,x+1); //IP == "1efgh";
int value = atol(IP);
------解决方案--------------------
CString::ReverseFind(_T('.'))
------解决方案--------------------
int值你不是得到了么?
------解决方案--------------------
inet_addr