The following examples show you how to use the KcsFile class.
This example shows you how to read a file from a specified offset with absRead(). See the kcsio.h header file for a description of absRead().
KcsStatus readIt() { KcsStatus sStatus; KcsFileId sFileRef; long index = 32; long number; // open the file, put the fileRef into sFileRef sFileRef = open ("Profile", O_RDWR); if (sFileRef == -1) return (KCS_IO_ERROR); // create a file object file = new KcsFile(&sStatus, sFileRef, 0); if (sStatus != KCS_SUCCESS) return(sStatus); // using the file object, read from the file into a buffer. sStatus = file->absRead(index, sizeof(long), &number); delete file; close(sFileRef); return (sStatus); } |
This example shows you how to write to a file with relWrite(). See Table 2-3 for a full definition of relWrite().
KcsStatus writeIt() { KcsStatus sStatus; KcsFileId sFileRef; long nbytes; char *buffer; // open the file, get a fileRef sFileRef = open ("Profile", O_RDWR); if (sFileRef == -1) return (KCS_IO_ERROR); // create a file object file = new KcsFile(&sStatus, sFileRef); if (sStatus != KCS_SUCCESS) return(sStatus); // Allocate memory for the buffer, fill it with data. // Set nbytes to the length of the buffer. if ((buffer = (char*) malloc(nbytes)) == NULL) return (KCS_IO_ERROR); delete file; close(sFileRef); // using the file object, write the buffer to the file. sStatus = file->relWrite(nbytes, buffer); // Free the buffer's memory. free (buffer); delete file; close(sFileRef); return (sStatus); } |