Atari Logo
Atari Computer

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

C

Home string.h string.h Stringfunktionen in cjar.c

13.3.1 Stringfunktionen in cookie.c

Mit den Stringfunktionen lassen sich die 4 Bytes des Cookie-Ids in einen String kopieren und damit auch als String ausgeben, wenn sie aus darstellbaren Zeichen ohne Leerzeichen bestehen. Für einen Benutzer ist es einfacher, mit dem Kürzel zu arbeiten, da es aussagekräftiger ist und sich damit auch leichter merken läßt. Die Kopie wurde mit memcpy durchgeführt, da die abschließende Null im Cookie nicht vorhanden ist und deshalb immer 4 Bytes kopiert werden müssen.

#include <string.h>
#include <stdio.h>
#include <ctype.h>
#include "cookie.h"

void CookieSetL(CookieEntry *Cookie,long Name,long Value)
{
   Cookie->name.name_long = Name;
   Cookie->value = Value;
}

void CookieSetS(CookieEntry *Cookie,char *Name,long Value)
{
   memcpy(Cookie->name.name_array,Name,4);
   Cookie->value = Value;
}

void CookiePrint(CookieEntry *Cookie)
{
   char Name[5];

   if (isgraph(Cookie->name.name_array[0]) &&
       isgraph(Cookie->name.name_array[1]) &&
       isgraph(Cookie->name.name_array[2]) &&
       isgraph(Cookie->name.name_array[3]))
   {
      memcpy(Name,Cookie->name.name_array,4);
      Name[4] = '\0';
      printf("Name des Cookies: %s\n", Name);
   }
   else
      printf("Name des Cookies: %d\n", Cookie->name.name_long);
   printf("Wert des Cookies: %d\n", Cookie->value);
}

void CookieInput(CookieEntry *Cookie)
{
   printf("Name des Cookies (long): ");
   scanf("%ld\n", &(Cookie->name.name_long));
   printf("Wert des Cookies (long): ");
   scanf("%ld\n", &(Cookie->value));
}

int CookieIsNullCookie(CookieEntry *Cookie)
{
   return Cookie->name.name_long == NULL_COOKIE;
}

int CookieIsCookie(CookieEntry *Cookie,long Name)
{
   return Cookie->name.name_long == Name;
}

int CookieRead(CookieEntry *Cookie,FILE *stream)
{
   return(fread(Cookie,sizeof(CookieEntry),1,stream) == 1);
}

int CookieWrite(CookieEntry *Cookie,FILE *stream)
{
   return(fwrite(Cookie,sizeof(CookieEntry),1,stream) == 1);
}

Home string.h string.h Stringfunktionen in cjar.c


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