bezeichner.c

#ifndef STDIO #include #define STDIO #endif #ifndef CONSTANTEN #include "constanten.c" #endif static char *attr_bez[max_attr]; void init_bez() { int i; extern char *attr_bez[max_attr]; char *n; for(i=0;i < (max_attr);++i) { n= (char *) malloc(max_len+1); if(n != NULL) strcpy(n,leer); attr_bez[i]=n; } strcpy( attr_bez[0], ID); } void del_bez() { int i; extern char *attr_bez[max_attr]; for(i=0;i < (max_attr);++i) free(attr_bez[i]); } int suche_bez( char *b) { int i,f; extern char *attr_bez[max_attr]; for(i=0;((f=strcmp(attr_bez[i],b)) != 0) && (i < (max_attr));++i); return( !f ? i : -1 ); } int last_bez() { int i, f; extern char *attr_bez[max_attr]; for( i=0; ((f=strcmp(attr_bez[i],leer)) != 0) && (i < (max_attr)); ++i); return( !f ? i : -1 ); } int incert_bez( char *b) { int i; extern char *attr_bez[max_attr]; if((i=suche_bez(b)) == -1) { if((i=last_bez()) > -1) { strcpy(attr_bez[i],b); } else { fprintf( stdout, "Keine Platz mehr fuer den Bezeichner > %s <\n",b); } } return(i); } void output_bez(FILE *ofp) { int i; extern char *attr_bez[max_attr]; for( i=0;((i < (max_attr)) && (attr_bez[i][0] != '\0')); ++i) { fprintf( ofp, "%s\n",attr_bez[i]); } } #define BEZEICHNER

CSLIB 2000


Zurück: Persönliche Hypertexte