006
04.01.2005, 13:27 Uhr
mike
Pinguinhüpfer (Operator)
|
Hi! Ich hab eines mit konvertireung zu long gebastelt (das ja um Zahlen geht)
C++: |
#include <stdio.h> #include <errno.h> #include <string.h>
int main(int argc, char *argv[]) { char puff[100]; FILE *fd;
if((fd=fopen(argv[1], "r")) == NULL) { fprintf(stderr, "FATAL: %s\n", strerror(errno)); return 1; }
long zahl, *array; long linecounter = 0; int gr = 10;
if((array = (long *)malloc((gr+1)*sizeof(long))) == NULL) { fprintf(stderr, "DAMN: no mem"); return 1; }
long *ptr = array, *end = array+gr;
while(fgets(puff, sizeof(puff), fd)) { linecounter += 1; errno = 0; zahl = strtol(puff, NULL, 10); if(errno != 0) fprintf(stderr, "SYNTAX: %s (line %ld)\n", strerror(errno), linecounter); else { *ptr = zahl; if(ptr+1 == end) { puts("I need memory ..."); if((array = (long *)realloc(array, (gr+1)*sizeof(long))) == NULL) fprintf(stderr, "FATAL: Out of memory"); else end += gr; } else ptr++; } }
/***** TEST *****/ /* reele Arraygroesse wird ignoriert*/ int i; for(i=0; i<(end-array); i++) printf("%d: %ld\n", i, array[i]);
free(array); return 0; }
|
mfg --
Dieser Post wurde am 05.01.2005 um 06:53 Uhr von mike editiert. |