Maison Tutoriel système Linux Pour lire les données d'un fichier, l'application appelle d'abord une fonction du système d'exploitation

Pour lire les données d'un fichier, l'application appelle d'abord une fonction du système d'exploitation

Feb 19, 2024 am 09:42 AM
文件 数据 chapeau rouge Linux

Dans les E/S de fichier, pour lire les données d'un fichier descripteur de fichier Linux, l'application doit d'abord appeler la fonction du système d'exploitation et transmettre le nom du fichier, puis sélectionner un chemin d'accès au fichier pour ouvrir le fichier. Cette fonction renvoie un numéro de séquence, qui est le descripteur de fichier Perl (filehandle)descripteur de fichier Linux Le descripteur de fichier Perl est la seule base d'identification du fichier ouvert. Pour lire une donnée d'un fichier, l'application doit appeler la fonction ReadFile et transmettre l'adresse du descripteur de fichier Perl dans la mémoire vidéo et le nombre d'octets à copier au système d'exploitation. Lorsque la tâche est terminée, le fichier est fermé en appelant une fonction système.

Non seulement vous écrivez un programme d'intelligence artificielle imitant un philosophe solipsiste, mais votre programme utilise une méthode qui ne communique pas avec le monde extérieur. Dans les troisième et quatrième lignes de l'exemple de classe, vous verrez « GRADES », qui est un type de données qui fait référence à un autre fichier Perl, appelé descripteur de fichier. Un handle est un nom que vous donnez à un fichier, un périphérique, un socket ou un pipeline pour vous aider à vous souvenir du nom avec lequel vous travaillez et pour masquer les complexités des caches individuels, etc. (En interne, les poignées sont comme des flux en C++ ou des canaux d'E/S en BASIC.) Les poignées vous permettent d'entrer et de sortir plus facilement depuis différents endroits. L'une des choses qui font de Perl un bon langage est sa capacité à communiquer avec plusieurs fichiers et à les traiter tous en même temps. Avoir de bons noms symboliques pour les objets externes fait partie intégrante d'un bon langage [1].

Les autres éléments qui font de Perl un bon langage sont : il est 8 bits, il est intégrable et vous pouvez intégrer d'autres programmes dans Perl via le mode extension. Il est concis et facile à utiliser sur le Web. L'environnement est clair et facile à discuter. Vous pouvez le référencer de différentes manières (comme vu ci-dessus). En fait, le langage lui-même n'est pas si strictement structuré que vous ne pouvez pas dépasser votre question. Revenons à nouveau à TMTOWTDI.

Vous créez un handle et le connectez à un fichier via la fonction open. open prend deux paramètres : le handle et le nom d'un fichier que vous souhaitez y lier. Perl fournit également des handles prédéfinis (et pré-ouverts). STDIN est le canal d'entrée normal de votre programme et STDOUT est le canal de sortie normal de votre programme. STDERR est un canal de sortie supplémentaire afin que le programme puisse donner des instructions lors de la conversion de l'entrée en sortie [2].

Normalement, ces handles sont liés à votre terminal, vous pouvez donc taper votre programme et le voir, mais ils peuvent également être liés à des fichiers. Perl peut vous fournir ce handle prédéfini car votre système d'exploitation le fournit déjà. Sous UNIX, un processus hérite des entrées, sorties et erreurs standard de son processus parent (généralement un shell). L'une des responsabilités d'un shell est de structurer ce flux d'E/S afin que les processus enfants n'aient pas à s'en soucier).

linux文件句柄_句柄文件超多_句柄文件和文件句柄

Puisque vous pouvez créer des handles à diverses fins (entrée, sortie, pipeline) à l'aide de la fonction open, vous devez pouvoir spécifier ce que vous voulez faire. Tout comme sur la ligne de commande UNIX, vous ajoutez simplement des caractères au nom du fichier.

Copiez le code comme suit :

open(SESAME,"filename");#Lire à partir d'un fichier existant

句柄文件超多_linux文件句柄_句柄文件和文件句柄

open(SESAME,"open(SESAME,">filename");#Créez un fichier et écrivez-y

open(SESAME,">>filename");#Continuer à écrire dans le fichier existant

open(SESAME,"|output-pipe-command");#Créer un filtre de sortie

open(SESAME,"input-pipe-command|");#Créer un filtre d'entrée

Wie Sie gehört haben, können Sie einen beliebigen Namen wählen. Sobald ein SESAME-Handle geöffnet ist, kann es für den Zugriff auf Dateien oder Pipes verwendet werden, bis es explizit geschlossen wird (mit close(SESAME)) oder eine Reihe von Öffnungen für dasselbe Handle dieses Handle mit einer anderen Datei verknüpft [3 ].

Durch das Öffnen eines bereits geöffneten Handles wird implizit die erste Datei geschlossen, sodass sie für das Perl-Dateihandle nicht mehr verfügbar ist, und eine andere Datei geöffnet. Sie müssen sich darüber im Klaren sein, dass Sie dies wirklich tun möchten. Manchmal kommt es vor, dass Linux-Download-Tools zufällig auftreten. Wenn Sie beispielsweise ($handle,$file) öffnen, enthält $handle zufällig eine leere Zeichenfolge (null). Stellen Sie sicher, dass $handle auf einen einzelnen Wert gesetzt ist, sonst öffnen Sie eine neue Datei mit einem Null-Handle.

句柄文件超多_句柄文件和文件句柄_linux文件句柄

Sobald Sie ein Handle zur Eingabe geöffnet haben (oder STDIN verwenden), können Sie mit der „Zeilenleseoperation“ eine Zeile lesen. Aufgrund seiner Form wird dieser Vorgang auch als Maurerbetrieb bezeichnet. Diese Mauerwerksoperation enthält das handle()[4], das Sie lesen möchten. Verwenden Sie das STDID-Handle, um die vom Benutzer bereitgestellte Antwort wie folgt zu lesen:

Der Vorgang „Empty Masonry“ liest aus allen in der Befehlszeile angegebenen Dateien. Wenn nicht angegeben, wird aus STDIN gelesen. (Dies ist das Standardverhalten vieler UNIX-„Filter“-Programme)

Kopieren Sie den Code wie folgt:

句柄文件超多_句柄文件和文件句柄_linux文件句柄

printSTDOUT"Enteranumber:";#Aufforderung zur Eingabe einer Nummer

$number=;#Geben Sie eine Zahl ein

printSTDOUT"Thenumberis$number";#Diese Nummer ausgeben

Verstehen Sie das Beispiel, das wir Ihnen gegeben haben? Was macht STDOUT im Drucksatz? Dies ist eine der Möglichkeiten, wie Sie einen Ausgabehandler verwenden. Ein Handle kann als erster Parameter der print-Anweisung verwendet werden. Wenn es vorhanden ist, gibt es an, wo ausgegeben werden soll. Im Beispiel ist das Handle überflüssig, da die Ausgabe bereits STDOUT ist. Der Standardwert für die Eingabe ist STDIN und für die Ausgabe STDOUT. (Wir haben Zeile 18 des Gegenbeispiels der Klasse weggelassen, um Sie nicht zu verwirren.)

Wir haben auch eine Sache, die Sie nicht verstehen. Wenn Sie das darin enthaltene Beispiel ausprobieren, werden Sie feststellen, dass Sie eine sehr leere Zeile erhalten. Weil Sie beim Lesen das Zeilenumbruchzeichen (Newline) nicht manuell aus Ihrer Eingabezeile entfernt haben (Sie haben beispielsweise „9“ eingegeben). Für diesen Fall, wenn Sie Zeilenumbrüche entfernen möchten, stellt Perl die Funktionen Chop und Chomp bereit. Chop löscht wahllos das zuletzt übergebene Zeichen (und gibt es zurück), während chomp nur das Ende der Datensatzkennung (normalerweise „“) löscht und die Anzahl der so gelöschten Zeichen zurückgibt.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Utiliser le Gestionnaire des tâches sous Linux Utiliser le Gestionnaire des tâches sous Linux Aug 15, 2024 am 07:30 AM

Il existe de nombreuses questions que les débutants sous Linux posent souvent : « Linux a-t-il un gestionnaire de tâches ? », « Comment ouvrir le gestionnaire de tâches sous Linux ? » Les utilisateurs de Windows savent que le gestionnaire de tâches est très utile. Vous pouvez ouvrir le Gestionnaire des tâches en appuyant sur Ctrl+Alt+Suppr sous Windows. Ce gestionnaire de tâches vous montre tous les processus en cours d'exécution et la mémoire qu'ils consomment, et vous pouvez sélectionner et tuer un processus à partir du programme gestionnaire de tâches. Lorsque vous utiliserez Linux pour la première fois, vous rechercherez également quelque chose qui équivaut à un gestionnaire de tâches sous Linux. Un expert Linux préfère utiliser la ligne de commande pour rechercher les processus, la consommation de mémoire, etc., mais ce n'est pas obligatoire

Résoudre le problème de l'affichage tronqué des graphiques et des diagrammes sur le serveur de surveillance chinois Zabbix Résoudre le problème de l'affichage tronqué des graphiques et des diagrammes sur le serveur de surveillance chinois Zabbix Jul 31, 2024 pm 02:10 PM

La prise en charge du chinois par Zabbix n'est pas très bonne, mais parfois nous choisissons toujours le chinois à des fins de gestion. Dans l'interface Web surveillée par Zabbix, le chinois sous l'icône graphique affichera des petits carrés. Ceci est incorrect et nécessite le téléchargement de polices. Par exemple, "Microsoft Yahei", "Microsoft Yahei.ttf" est nommé "msyh.ttf", téléchargez la police téléchargée dans /zabbix/fonts/fonts et modifiez les deux caractères dans /zabbix/include/defines.inc.php. fichier dans definition('ZBX_GRAPH_FONT_NAME','DejaVuSans');define('ZBX_FONT_NAME'

7 façons de vous aider à vérifier la date d'enregistrement des utilisateurs Linux 7 façons de vous aider à vérifier la date d'enregistrement des utilisateurs Linux Aug 24, 2024 am 07:31 AM

Saviez-vous comment vérifier la date de création d'un compte sur un système Linux ? Si vous le savez, que pouvez-vous faire ? Avez-vous réussi ? Si oui, comment faire ? Fondamentalement, les systèmes Linux ne suivent pas ces informations, alors quelles sont les autres manières d'obtenir ces informations ? Vous vous demandez peut-être pourquoi je vérifie cela ? Oui, il existe des situations dans lesquelles vous devrez peut-être consulter ces informations et elles vous seront utiles à ce moment-là. Vous pouvez utiliser les 7 méthodes suivantes pour vérifier. Utilisez /var/log/secure Utilisez l'outil aureport Utilisez .bash_logout Utilisez la commande chage Utilisez la commande useradd Utilisez la commande passwd Utilisez la dernière commande Méthode 1 : Utilisez /var/l

Que dois-je faire si les polices WPS manquantes sous le système Linux entraînent une déformation du fichier ? Que dois-je faire si les polices WPS manquantes sous le système Linux entraînent une déformation du fichier ? Jul 31, 2024 am 12:41 AM

1. Recherchez les polices wingdings, wingdings2, wingdings3, Webdings et MTExtra sur Internet 2. Entrez dans le dossier principal, appuyez sur Ctrl+h (afficher les fichiers cachés) et vérifiez s'il existe un dossier .fonts. Sinon, créez. 3. Copiez les polices téléchargées telles que wingdings, wingdings2, wingdings3, Webdings et MTExtra dans le dossier .fonts du dossier principal. Ensuite, démarrez wps pour voir s'il existe toujours une boîte de dialogue de rappel « Police manquante dans le système ». sinon, juste du succès Notes : wingdings, wingdin

Apprenez à ajouter des polices à Fedora en 5 minutes Apprenez à ajouter des polices à Fedora en 5 minutes Jul 23, 2024 am 09:45 AM

Installation à l'échelle du système Si vous installez une police à l'échelle du système, elle sera disponible pour tous les utilisateurs. La meilleure façon de procéder est d'utiliser les packages RPM des référentiels de logiciels officiels. Avant de commencer, ouvrez l'outil "Logiciel" dans Fedora Workstation, ou d'autres outils utilisant le référentiel officiel. Sélectionnez la catégorie « Modules complémentaires » dans la barre de sélection. Sélectionnez ensuite « Polices » dans la catégorie. Vous verrez les polices disponibles similaires à celle de la capture d'écran ci-dessous : Lorsque vous sélectionnez une police, certains détails apparaîtront. Selon plusieurs scénarios, vous pourrez peut-être prévisualiser un exemple de texte pour la police. Cliquez sur le bouton "Installer" pour l'ajouter à votre système. En fonction de la vitesse du système et de la bande passante du réseau, ce processus peut prendre un certain temps.

Comment connecter deux hôtes Ubuntu à Internet à l'aide d'un seul câble réseau Comment connecter deux hôtes Ubuntu à Internet à l'aide d'un seul câble réseau Aug 07, 2024 pm 01:39 PM

Comment utiliser un câble réseau pour connecter deux hôtes Ubuntu à Internet 1. Préparez l'hôte A : ubuntu16.04 et l'hôte B : ubuntu16.042. L'hôte A possède deux cartes réseau, l'une est connectée au réseau externe et l'autre est connectée. pour accueillir B. Utilisez la commande iwconfig pour afficher toutes les cartes réseau sur l'hôte. Comme indiqué ci-dessus, les cartes réseau sur l'hôte A (ordinateur portable) de l'auteur sont : wlp2s0 : Il s'agit d'une carte réseau sans fil. enp1s0 : carte réseau filaire, la carte réseau connectée à l'hôte B. Le reste n’a rien à voir avec nous, inutile de s’en soucier. 3. Configurez l'adresse IP statique de A. Modifiez le fichier #vim/etc/network/interfaces pour configurer une adresse IP statique pour l'interface enp1s0, comme indiqué ci-dessous (où #==========

Installation et configuration de Centos 7 Serveur de synchronisation de l'heure réseau NTP Installation et configuration de Centos 7 Serveur de synchronisation de l'heure réseau NTP Aug 05, 2024 pm 10:35 PM

Environnement expérimental : OS : LinuxCentos7.4x86_641. Affichez le fuseau horaire actuel du serveur, répertoriez le fuseau horaire et définissez le fuseau horaire (s'il s'agit déjà du fuseau horaire correct, veuillez l'ignorer) : #timedatectl#timedatectllist-timezones#timedatectlset-timezoneAsia. /Shanghai2. Compréhension des concepts de fuseau horaire : GMT, UTC, CST, DSTUTC : La terre entière est divisée en vingt-quatre fuseaux horaires. Dans les situations de communication radio internationale, dans un souci d'unification, une heure unifiée est utilisée, appelée Temps coordonné universel (UTC : UniversalTim).

lancer! Exécuter DOS sur Raspberry Pi lancer! Exécuter DOS sur Raspberry Pi Jul 19, 2024 pm 05:23 PM

Différentes architectures de processeur signifient qu'exécuter DOS sur le Raspberry Pi n'est pas facile, mais ce n'est pas très compliqué. FreeDOS est peut-être familier à tout le monde. Il s'agit d'un système d'exploitation complet, gratuit et bien compatible pour DOS. Il peut exécuter certains anciens jeux DOS ou logiciels commerciaux, et peut également développer des applications embarquées. Tant que le programme peut fonctionner sur MS-DOS, il peut fonctionner sur FreeDOS. En tant qu'initiateur et coordinateur du projet FreeDOS, de nombreux utilisateurs me poseront des questions en tant qu'initié. La question qu'on me pose le plus souvent est : « FreeDOS peut-il fonctionner sur un Raspberry Pi ? » Cette question n'est pas surprenante. Après tout, Linux fonctionne très bien sur le Raspberry Pi

See all articles