_strtoi
Letze Änderung: Freitag 06.01.2006
Plattformunabhängig
Konvertiert eine Zeichenkette innerhalb einer Zeichenkette in ein INT
Lizenz: BSD
Diskussion zu _strtoi()
Plattformunabhängig
Konvertiert eine Zeichenkette innerhalb einer Zeichenkette in ein INT
Lizenz: BSD
#include <stdio.h>
#include <stdlib.h> // atoi()
#include <string.h> // size_t strlen()
/*
konvertiert Zeichenkette innerhalb einer Zeichenkette mit Laenge i nach INT;
*/
int _strtoi(char *s, unsigned i){
int r,b;// Rueckgabewert; temp. speicher
// Parameter 1 pruefen
if (NULL==s)
return -1;
// Parameter 2 pruefen
if (i<1)
return -2;
// im reservierten Speicherbereich bleiben
if (strlen(s)<i)
return -3;
// das erste Byte nach der zu konvertierenden Zeichenkette sichern
b=*(s+i);
// String temporär entsprechend terminieren
*(s+i)=0;
// String in int konvertieren
r=atoi(s);
// temp. Terminierung rueckgaengig machen
*(s+i)=b;
return r;
}
int main(){
// Beispielstring
char string[]="String mit Zahl 25 die umgewandelt werden soll.";
// Zeiger auf den Anfang der Zahl
char *z1=&(string[16]);
// Zeiger auf das Ende der Zahl bzw. auf das 1. Byte nach der Zahl
char *z2=&(string[18]);
printf("%d\n",_strtoi(z1,z2-z1));
return -1;
}
Diskussion zu _strtoi()
Forum Code-Schnipsel (83 Beiträge)
