001
08.06.2004, 21:50 Uhr
(un)wissender
Niveauwart
|
C++: |
#include <stdio.h> #include <memory.h> #include <string.h> #include <string>
//t ist die teil zwischen zwei punkten der ersetzt werden soll... von 0 bis 3 //n ist die zahl die an die zu ersetzende stelle geschrieben werden soll... //ip ist halt die ip in der die ersetzung vorgenommen werden soll
void replace_ip_part(int t,char*n,char ip[16]);
int main(){ char ip[16]= "192.168.70.1"; printf("%s\n",ip); replace_ip_part(0,"255",ip); printf("%s\n",ip); replace_ip_part(1,"255",ip); printf("%s\n",ip); replace_ip_part(2,"255",ip); printf("%s\n",ip); replace_ip_part(3,"255",ip); printf("%s\n",ip); return 0; }
void replace_ip_part(int t,char*n,char ip[16]) { std::string tempIp = ip; int index, index2; switch(t) { case 0: tempIp.erase(0, tempIp.find(".")); tempIp.insert(0, n); break; case 1: index = tempIp.find(".") + 1; tempIp.erase(index, tempIp.find(".", index) - index); tempIp.insert(index, n); break; case 2: index = tempIp.find_last_of(".") - 1; index2 = tempIp.find(".", index - 3) + 1; tempIp.erase(index2, index - index2 + 1); tempIp.insert(index2, n); break; case 3: index = tempIp.find_last_of(".") + 1; tempIp.erase(index, tempIp.size() - index); tempIp.insert(index, n); break; } strcpy(ip, tempIp.c_str()); }
|
Bearbeitung: |
Arg, erlaubt sind nur obige Header, mist, also vergesst es, vielleicht mache ich noch eine andere Lösung.
|
-- Wer früher stirbt ist länger tot. Dieser Post wurde am 08.06.2004 um 21:51 Uhr von (un)wissender editiert. |