J'ai entendu parler de flux, plus précisément de flux de fichiers.
Alors, c'est quoi?
Est-ce quelque chose qui a un emplacement dans la mémoire?
Est-ce quelque chose qui contient des données?
S'agit-il simplement d'une connexion entre un fichier et un objet?
Toute aide serait appréciée
Le terme flux est l'abstraction d'une construction qui vous permet d'envoyer ou de recevoir un nombre inconnu d'octets. La métaphore est un jet d'eau. Vous prenez les données telles quelles ou les envoyez au besoin. Comparez cela à un tableau, par exemple, qui a une longueur fixe connue.
Exemples de flux utilisés: lecture et écriture dans des fichiers, réception ou envoi de données via une connexion externe. Cependant, le terme stream est générique et ne dit rien sur l'implémentation spécifique.
IOStreams est une interface frontale (std::istream
, std::ostream
) utilisé pour définir les fonctions d'entrée et de sortie. Les flux stockent également des options de formatage, par exemple, la base à utiliser pour la sortie entière et maintiennent un std::locale
objet pour tout type de personnalisation. Leur composant le plus important est un pointeur vers un std::streambuf
qui définit comment accéder à une séquence de caractères, par exemple, un fichier, une chaîne, une zone à l'écran, etc. Spécifiquement pour les fichiers et les chaînes, des tampons de flux spéciaux sont fournis et des classes dérivées des classes de base de flux sont fournies pour faciliter création. La description de l'ensemble des fonctionnalités de la bibliothèque IOStreams peut pratiquement remplir un livre entier: en C++ 2003, environ la moitié de la section de la bibliothèque était consacrée aux fonctionnalités liées au flux.
Le flux est une file d'attente linéaire qui connecte un fichier au programme et maintient le flux de données dans les deux sens. Ici, la source est n'importe quel fichier, périphérique d'E/S, disque dur, CD/DVD, etc.
Fondamentalement, le flux est si deux types 1. Flux de texte 2. Flux binaire
Flux de texte: il s'agit d'une séquence de caractères arrangés en ligne et chaque ligne se terminant par une nouvelle ligne (unix).
Flux binaire: Ce sont des données car elles sont codées en interne dans la mémoire principale de l'ordinateur, sans aucune modification.
Le système de fichiers est conçu pour fonctionner avec une grande variété de périphériques, notamment des terminaux, des lecteurs de disque, des lecteurs de bande, etc. Même si chaque périphérique est différent, le système de fichiers les transforme en un logique périphérique appelé flux. Les flux étant indépendants du périphérique, la même fonction peut être utilisée pour écrire un fichier disque et un fichier bande. En termes plus techniques, stream fournit une abstraction entre le programmeur et le périphérique réel utilisé.