Atari Logo
Atari Computer

Hauptseite -
Welches System? -
Hardware -
Software -
Emulatoren -
Internet
MausNet
Programmieren
Verweise
Über

Beispiel: Src2Udo-Kommentare

Das folgende Beispiel zeigt mögliche Kommentarblöcke, die es erlauben, mit Src2Udo eine Dokumentation der Funktionen zu extrahieren.

Sprache C
Beispiel beispiel.c


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';
 }
}


Best viewed with any browser English version not yet available.

Änderungen und Irrtümer vorbehalten. Letzte Änderung:
14 September 2001.
Home - Mail an den Webmaster - Impressum