如何取出IP地址的第三个点后的部分?怎么截取?

quiton 2006-10-26 01:36:31
如现有IP地址字符串“120.11.101.33”(但不一定是这样的字符串,也就是说第三个点前面的位数不固定),如果取出“33”(也有可能是一位或三位数)??
...全文
340 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
FallenAngel 2006-10-27
  • 打赏
  • 举报
回复
bcb 中hpp文件是从delphi文件里面编译过来的
FFSB 2006-10-27
  • 打赏
  • 举报
回复
AnsiString AA = "1.2.3.4";

int a,x;
AA.scanf("%d.%d.%d.%d",&x,&x,&x,&a);
极速小王子 2006-10-27
  • 打赏
  • 举报
回复
h = c
hpp = cpp

p = plus
quiton 2006-10-26
  • 打赏
  • 举报
回复
为什么是.hpp文件,而不是.h文件呢?
quiton 2006-10-26
  • 打赏
  • 举报
回复
我用这样的方法可以解决

nodeID = StrToInt(str.SubString(p+1,sizeof(str)))
rainfall19831109 2006-10-26
  • 打赏
  • 举报
回复
要使用MidStr函数,需要include 文件“StrUtils.hpp”
quiton 2006-10-26
  • 打赏
  • 举报
回复
Call to undefined function "MidStr"

是不是一个外部包需要导入啊,如何做呢?
jaffy 2006-10-26
  • 打赏
  • 举报
回复
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include <StrUtils.hpp>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int p,i=0;
AnsiString str;
str = Edit1->Text;
while((p=str.Pos("."))>0 && i<3)
{
i++;
if (i<3) str[p]= ' ';
}
Edit1->Text = MidStr(str,p+1,str.Length());

}
//---------------------------------------------------------------------------
jaffy 2006-10-26
  • 打赏
  • 举报
回复
POS(".")三次啊不就可以了

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧