Lan-Police:
Schnipsel" den ich mir Anpassen kann vllt. hat jemand was für mich ?
Du möchtest die IP-Adresse als Klartext in der Form "Dezimalzahlen als Text mit Punkten getrennt" in eine Datei schreiben und ein Programm soll Dir daraus die einzelnen 4 Bytes machen?
Vor kurzem habe ich mir eine absolut geniale Funktion gemacht, um positive Integer-Zahlen aus einem Char-Array auszulesen, die Funktion habe ich hier im Forum im Zusammenhang mit Kommandoauswertung über die serielle Schnittstelle auch schon gepostet gehabt.
int getIntFromString (char *stringWithInt, byte num)
// input: pointer to a char array
// returns an integer number from the string (positive numbers only!)
// num=1, returns 1st number from the string
// num=2, returns 2nd number from the string, and so on
{
char *tail;
while (num>0)
{
num--;
// skip non-digits
while ((!isdigit (*stringWithInt))&&(*stringWithInt!=0)) stringWithInt++;
tail=stringWithInt;
// find digits
while ((isdigit(*tail))&&(*tail!=0)) tail++;
if (num>0) stringWithInt=tail; // new search string is the string after that number
}
return(strtol(stringWithInt, &tail, 0));
}
D.h. Du liest Dir Deine Klartext-IP am besten in ein Char-Array ein, sagen wir mal es heißt "charBuffer",
und dann holst Du die vier Werte entsprechend raus:
byte1=getIntFromString (charBuffer, 1);
byte2=getIntFromString (charBuffer, 2);
byte3=getIntFromString (charBuffer, 3);
byte4=getIntFromString (charBuffer, 4);
So ungefähr?