Los lenguajes de programación C y C++, y los sistemas operativos de la familia unix, tradicionalmente abstraen ficheros y dispositivos como streams, los cuales pueden ser leídos o escritos, o ambas cosas.