|
Hauptseite - Welches System? - Hardware - Software - Emulatoren - |
Internet MausNet Programmieren Verweise Über |
Das folgende Beispiel zeigt mögliche Kommentarblöcke, die es erlauben, mit Src2Udo eine Dokumentation der Funktionen zu extrahieren.
Sprache | C |
---|---|
Beispiel | beispiel.c |
/* @(#)mystring.c, Dirk Haun, November 1995 * @(#)Module: String- und Characterfunktionen */ /* @(#)Submodule: Stringfunktionen * Funktionen, die Strings manipulieren */ /*PUBLIC********************************************************************** * * Funktion: VOID delete(CHAR *str,WORD pos,WORD anz); * * Zweck: Loescht Zeichen aus einem String. * * Input: org: aus diesem String werden Zeichen entfernt * pos: Stelle, ab der geloescht wird (ab 0 gezaehlt) * anz: soviele Zeichen werden ab 'pos' entfernt * * Output: --- * ****************************************************************************/ VOID delete(CHAR *str,WORD pos,WORD anz) { CHAR *cp; if(anz>0) { cp=str+pos+anz; str+=pos; while(*str++=*cp++); } } /*PUBLIC********************************************************************** * * Funktion: VOID insert(CHAR *org,WORD pos,CHAR *ins); * * Zweck: Fuegt einen String in einen anderen ein. * * Input: org: in diesen String wird eingefuegt * pos: Stelle, ab der eingefuegt wird (ab 0 gezaehlt) * ins: Dieser String wird in 'org' eingefuegt * * Output: --- * * Anmerkung: Der Aufrufer muss selbst dafuer sorgen, dass 'org' genug * Platz zur Aufnahme von 'ins' bietet. * * siehe auch: insertc() * ****************************************************************************/ VOID insert(CHAR *org,WORD pos,CHAR *ins) { WORD i, l; if((l=(WORD)strlen(ins))>0) { for(i=(WORD)strlen(org);i>=pos;i--) org[i+l]=org[i]; for(i=l-1;i>=0;i--) org[pos+i]=ins[i]; } } /*PUBLIC********************************************************************** * * Funktion: VOID insertc(CHAR *org,WORD pos,WORD anz,CHAR ch); * * Zweck: Fuegt Zeichen in einen String ein. * * Eingaben: org: in diesen String wird eingefuegt * pos: Stelle, ab der eingefuegt wird (ab 0 gezaehlt) * anz: Anzahl Zeichen, die eingefuegt werden * ch : Zeichen, das eingefuegt wird * * Ausgabe: --- * * Anmerkung: Der Aufrufer muss selbst dafuer sorgen, dass 'org' genug * Platz zur Aufnahme von 'anz' vielen Zeichen bietet. * * Querverweis: insert() * ****************************************************************************/ VOID insertc(CHAR *org,WORD pos,WORD anz,CHAR ch) { WORD i; if(anz>0) { for(i=(WORD)strlen(org);i>=pos;i--) org[i+anz]=org[i]; for(i=anz-1;i>=0;i--) org[pos+i]=ch; } } /* @(#)Submodule: Characterfunktionen * Funktionen, die zeichenorientiert arbeiten */ /*PUBLIC********************************************************************** * * Name: CHAR lastchr(CHAR *s); * * Zweck: Liefert das letzte Zeichen eines Strings. * * Input: s: String, dessen letztes Zeichen ermittelt werden soll * * Output: letztes Zeichen des Strings oder '\0', wenn der String leer ist * ****************************************************************************/ CHAR lastchr(CHAR *s) { while(*(s+1)!='\0') s++; return(*s); } /*PUBLIC********************************************************************** * * Funktion: VOID lchrdel(CHAR *s); * * Zweck: L”scht das letzte Zeichen eines Strings. * * Input: s: String, dessen letztes Zeichen geloescht werden soll * * Output: --- * ****************************************************************************/ VOID lchrdel(CHAR *s) { if(*s!='\0') { while(*s++!='\0'); *(s-2)='\0'; } }
![]() |
English version not yet available. |