0% fanden dieses Dokument nützlich (0 Abstimmungen)
6 Ansichten2 Seiten

Sys Lib File Stream

Hochgeladen von

Juan Rico
Copyright
© All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
0% fanden dieses Dokument nützlich (0 Abstimmungen)
6 Ansichten2 Seiten

Sys Lib File Stream

Hochgeladen von

Juan Rico
Copyright
© All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen

Die Bibliothek SysLibFileStream

Die Bibliothek [Link]


Diese Bibliothek unterstützt Funktionen, die die entsprechenden ANSI C Funktionen für
Dateioperationen nachbilden. Die Abarbeitung erfolgt synchron.
Die Funktionen:

SysLibFileStream Funktion ANSI C Funktion Datentyp Bemerkungen


SysFileStreamFOpen *fopen( char DWORD Datei mit dem Namen filename als
*filename, char *mode wird als Stream geöffnet; mögliche
); Werte für inputvariable Mode: 'w'
(write), 'r' (read), 'a' (append), '+', 'b', 't'
SysFileStreamClearerr clearerr(FILE* pFile); DINT interner Fehlerstatus von pFile wird
gelöscht; liefert immer 1
SysFileStreamFClose fclose( FILE *pFile ); DINT alle offenen Streams werden
geschlossen (außer stdin, stdout,
stderr). Liefert EOF im Fehlerfall,
sonst 0.
SysFileStreamFEOF *feof( FILE* pFile ); DINT liefert !=0, falls für pFile das Dateiende
erreicht ist
SysFileStreamFError ferror( FILE* pFile ); DINT liefert !=0, falls für pFile ein Fehler
aufgetreten ist
SysFileStreamFFlush fflush( FILE *pFile ); DINT Ausgeben von noch intern gepufferten
Zeichen
SysFileStreamRemove remove( char* BOOL Datei wird gelöscht; liefert 1 wenn OK,
filename); 0 im Fehlerfall
SysFileStreamRename rename( char* BOOL Umbenennen einer Datei; liefert 1
filename); wenn OK, 0 im Fehlerfall
SysFileStreamRewind rewind( FILE* pFile); DINT setzt die Dateiposition auf den Anfang
und löscht internen Fehlerstatus;
liefert immer 1
SysFileStreamFGetC fgetc( FILE *pFile ); DINT liefert das nächste Zeichen aus dem
Strom (0--255),
SYSFILESTREAM_EOF bei Fehler
SysFileStreamFGetPos *fgetpos( FILE* pFile, DINT speichert die aktuelle Dateiposition
fpos_t * ptr ); von pFile nach ptr; fpos_t ist hier als
"unsignedlong" (32 bits) definiert
SysFileStreamFSetPos fsetpos( FILE* pFile, DINT setzt die Dateiposition von Stream
fpos_t * ptr ); pFile entsprechend ptr; fpos_t ist hier
als "unsignedlong" (32 bits) definiert;
pFPos:DWORD; (* pointer !!*)
SysFileStreamFGetS * fgets( char * str, int POINTE liest maximal n--1 Zeichen nach s
n, FILE * pFile ); R TO (Abschluß automatisch mit 0);
STRING Abbruch bei '\n', das '\n' wird nach s
übernommen;
Rückgabewert: s bzw. 0 (bei
Dateiende oder Fehler)
SysFileStreamFPrintf_Int fprintf( FILE* pFile, DINT formatierte Ausgabe in den Strom
char* szFormat, pFile;
intnArg); Einschränkung gegenüber C: nur 1
Argument des Typs INT/DINT etc.
kann gedruckt werden
szFormat sollte sein: z.B. '%d'

© 3S- Smart Software Solutions GmbH / 05.01.2005 / CoDeSys V2.3


1
Die Bibliothek [Link]

SysLibFileStream Funktion ANSI C Funktion Datentyp Bemerkungen


SysFileStreamFPrintf_Real fprintf( FILE* pFile, DINT formatierte Ausgabe in den Strom
char* szFormat, float pFile;
fArg); Einschränkung gegenüber C: nur 1
Argument des Typs REAL etc. kann
gedruckt werden
szFormat sollte sein: z.B. '%f'
SysFileStreamFPrintf_String fprintf( FILE* pFile, DINT formatierte Ausgabe in den Strom
char* szFormat, char pFile;
*pcArg); Einschränkung gegenüber C: nur 1
Argument des Typs STRING etc. kann
gedruckt werden
szFormat sollte sein: z.B. '%s'
SysFileStreamFPutC fputc( int c, FILE DINT Schreiben des Zeichens
*pFile ); (unsignedchar)c in den Stream pFile
Rückgabewert: c (nach DINT
konvertiert) oder
SYSFILESTREAM_EOF im Fehlerfall
SysFileStreamFPutS fputs( char* str, FILE * DINT Schreiben der Strings s in den Stream
pFile ); pFile
Rückgabewert: str (Zeiger auf String)
oder SYSFILESTREAM_EOF im
Fehlerfall
SysFileStreamFRead fread( void* ptr, DWORD nobj Objekte der Größe size werden
size_t size, size_t von pFile nach ptr gelesen
nobj, FILE* pFile ); Rückgabewert: Anzahl der tatsächlich
gelesenen Objekte
SysFileStreamFWrite fwrite( void* ptr, DWORD nobj Objekte der Größe size werden
size_t size, size_t von ptr nach pFile geschrieben
nobj, FILE* pFile ); Rückgabewert: Anzahl der tatsächlich
gelesenen Objekte
SysFileStreamFScanf_Int fscanf( FILE* pFile, DINT formatierte Eingabe aus Stream pFile;
char* szFormat, int * Einschränkung gegenüber C: nur 1
pnArg); DINT Argument kann eingelesen
werden;
szFormat sollte sein: z.B. '%d'
SysFileStreamFScanf_String fscanf( FILE* pFile, DINT formatierte Eingabe aus Stream pFile;
char* szFormat, char Einschränkung gegenüber C: nur 1
*pcArg); STRING Argument kann eingelesen
werden;
szFormat sollte sein: z.B. '%s'
SysFileStreamFScanf_Real fscanf( FILE* pFile, DINT formatierte Eingabe aus Stream pFile;
char* szFormat, float* Einschränkung gegenüber C: nur 1
pfArg); REAL Argument kann eingelesen
werden; szFormat sollte sein: z.B. '%f'
SysFileStreamFSeek fseek( FILE* pFile, DINT setzt die Dateiposition auf offset Bytes
long offset, int origin); relativ zu origin; Werte für origin:
SEEK_SET=Dateianfang,
SEEK_CUR=aktuelle Position;
SEEK_END=Dateiende; 0=OK
SysFileStreamFTell ftell( FILE* pFile); DINT liefert die aktuelle Dateiposition (vom
Anfang) in Bytes (-1 bei Fehler)

2 © 3S- Smart Software Solutions GmbH / 05.01.2005 / CoDeSys V2.3

Das könnte Ihnen auch gefallen