|
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. |