« Home » « Learn » « Download » « Github »

logo

Cello High Level C

Methods

sopen

var sopen(var self, var resource, var options);

Open the stream self with a given resource and options.

sclose

void sclose(var self);

Close the stream self.

sseek

void sseek(var self, int64_t pos, int origin);

Seek to the position pos from some origin in the stream self.

stell

int64_t stell(var self);

Return the current position of the stream stell.

sflush

void sflush(var self);

Flush the buffered contents of stream self.

seof

bool seof(var self);

Returns true if there is no more information in the stream.

sread

size_t sread(var self, void* output, size_t size);

Read size bytes from the stream self and write them to output.

swrite

size_t swrite(var self, void* input, size_t size);

Write size bytes to the stream self and read them from input.

Examples

Usage

var f = sopen($(File, NULL), $S("test.bin"), $S("r"));

char c;
while (!seof(f)) {
  sread(f, &c, 1);
  putc(c, stdout);
}

sclose(f);

Stream


File-like

The Stream class represents an abstract set of operations that can be performed on File-like objects.

Definition

struct Stream {
  var  (*sopen)(var,var,var);
  void (*sclose)(var);
  void (*sseek)(var,int64_t,int);
  int64_t (*stell)(var);
  void (*sflush)(var);
  bool (*seof)(var);
  size_t (*sread)(var,void*,size_t);
  size_t (*swrite)(var,void*,size_t);
};

Implementers

  • File |     Operating System File
  • Process |     Operating System Process

Back