


Quelles sont les opérations de lecture et d'écriture de fichiers en langage C ?
Les opérations de lecture et d'écriture de fichiers en langage C incluent : 1. La fonction pour lire et écrire des caractères dans le fichier, le code est [int fgetc(FILE *stream)] 2. La fonction pour lire et écrire des chaînes ; dans le fichier, le code est [ int fputs(char *string,FILE *stream)].
Les opérations de lecture et d'écriture de fichiers en langage C incluent :
1. Fonction d'ouverture de fichier fopen().
L'opération d'ouverture de fichier signifie que le fichier spécifié par l'utilisateur se verra attribuer une zone de structure FILE dans la mémoire, et le pointeur de la structure sera renvoyé au programme utilisateur à l'avenir, le programme utilisateur peut utiliser ce pointeur FILE pour implémenter l'opération d'accès au fichier spécifié. Lors de l'utilisation de la fonction open, le nom du fichier et le mode de fonctionnement du fichier (lecture, écriture ou lecture-écriture) doivent être indiqués
Si le nom du fichier n'existe pas, cela signifie le créer (uniquement pour écrire des fichiers, pour Une erreur se produit lors de la lecture du fichier) et pointe le pointeur de fichier vers le début du fichier. Si un fichier portant le même nom existe déjà, supprimez-le. S'il n'existe aucun fichier portant le même nom, créez le fichier et pointez le pointeur de fichier vers le début du fichier.
fopen(char *filename,char *type);
où *filename
est le pointeur du nom de fichier du fichier à ouvrir, généralement représenté par le nom du fichier entre guillemets doubles, ou le nom du chemin séparé par des doubles barres obliques inverses. Le paramètre *type
indique la méthode d'opération d'ouverture du fichier. Les méthodes de fonctionnement disponibles sont les suivantes :
signifiant "r" s'ouvre, en lecture seule ;
"w" s'ouvre, le pointeur de fichier ; pointe vers le début, écrivez uniquement ;
"a" s'ouvre, pointe vers la fin du fichier, s'ajoute au fichier existant ; 🎜>"rb" ouvre un fichier binaire, en lecture seule
"wb" ouvre un fichier binaire, en écriture seule
"ab" ouvre un fichier binaire, ajoute ;
"r+" Ouvre un fichier existant en mode lecture/écriture
"w+" Créer un fichier existant en mode lecture/écriture Nouveau fichier texte ;
"a+" ouvre un fichier en mode lecture/écriture pour l'ajouter ; >"rb+" l'ouvre en mode lecture/écriture Ouvre un fichier binaire en mode écriture
"wb+" crée un nouveau fichier binaire en mode lecture/écriture ; >
"ab+" pour ouvrir un fichier binaire en mode lecture/écriture pour l'ajouter ; - Lorsque fopen() est utilisé pour ouvrir avec succès un fichier, la fonction le fera. renvoie un pointeur FILE. Si le fichier ne parvient pas à être ouvert, il sera renvoyé un pointeur NULL.
- 2. Fermez la fonction fclose() du fichier
Une fois l'opération sur le fichier terminée, vous devez utiliser la fonction fclose() pour le fermer. le fichier ouvert est écrit Au moment de l'écriture, si l'espace dans le tampon du fichier n'est pas rempli par du contenu écrit, le contenu ne sera pas écrit dans le fichier ouvert et sera perdu. Ce n'est que lorsque le fichier ouvert est fermé que le contenu restant dans le tampon du fichier peut être écrit dans le fichier, rendant ainsi le fichier complet.
De plus, une fois le fichier fermé, la structure FILE correspondant au fichier sera libérée, protégeant ainsi le fichier fermé, car les opérations d'accès au fichier ne seront pas effectuées à ce moment. Fermer un fichier signifie également libérer le tampon du fichier.
int fclose(FILE *stream);
Cela signifie que cette fonction fermera le fichier correspondant au pointeur FILE et renverra une valeur entière. Si le fichier a été fermé avec succès, une valeur 0 est renvoyée, sinon une valeur non nulle est renvoyée.
#include <iostream> #include <stdio.h> #include <stdlib.h> using namespace std; int main() { FILE *fp; // 头文件#include <stdio.h> if((fp=fopen("123.txt","w"))==NULL) { printf("file cannot open \n"); //exit(0); 头文件#include <stdlib.h> //exit结束程序,一般0为正常推出,其它数字为异常,其对应的错误可以自己指定。 } else printf("file opened for writing \n"); if(fclose(fp)!=0) printf("file cannot be closed \n"); else printf("file is now closed \n"); return 0; }
3. Lecture et écriture de fichiers
(1) Fonctions de lecture et d'écriture de caractères dans un fichier (un seul caractère dans le fichier peut être lu et écrit). à la fois) :
int fgetc(FILE *stream); int getchar(void); int fputc(int ch,FILE *stream); int putchar(int ch); int getc(FILE *stream); int putc(int ch,FILE *stream);
#include <iostream> #include <stdio.h> #include <stdlib.h> using namespace std; int main() { FILE *fp; char ch; if((fp=fopen("123.txt","r"))==NULL) printf("file cannot open \n"); else printf("file opened for writing \n"); while((ch=fgetc(fp))!=EOF) fputc(ch,stdout); //这里是输出到屏幕 if(fclose(fp)!=0) printf("file cannot be closed \n"); else printf("file is now closed \n"); return 0; }
Dans TC, putc() est équivalent à fputc(), et getc() est équivalent à fgetc(). putchar(c) est équivalent à fputc(c,stdout) ; getchar() est équivalent à fgetc(stdin). Notez que l'utilisation de char ch ici n'est en fait pas scientifique, car lorsque la marque de fin est finalement jugée, ch!=EOF est examinée et la valeur de EOF est -1, ce qui est évidemment incomparable avec char. Par conséquent, nous définissons certaines utilisations comme .
#include <iostream> #include <stdio.h> #include <stdlib.h> using namespace std; int main() { FILE *fp; if((fp=fopen("123.txt","a"))==NULL) printf("file cannot open \n"); else printf("file opened for writing \n"); char ch='e'; fputc(ch,fp); //输入到文件中 if(fclose(fp)!=0) printf("file cannot be closed \n"); else printf("file is now closed \n"); return 0; }
(2). Fonctions de lecture et d'écriture de chaînes dans des fichiers
.char *fgets(char *string,int n,FILE *stream); char *gets(char *s); int fprintf(FILE *stream,char *format,variable-list); int fputs(char *string,FILE *stream); char *puts(char *s); int fscanf(FILE *stream,char *format,variable-list);
其中fgets()函数将把由流指针指定的文件中n-1个字符,读到由指针string指向的字符数组中去,例如: fgets(buffer,9,fp); 将把fp指向的文件中的8个字符读到buffer内存区,buffer可以是定义的字符数组,也可以是动态分配的内存区。
注意,fgets()函数读到'/n'就停止,而不管是否达到数目要求。同时在读取字符串的最后加上'/0'。 fgets()函数执行完以后,返回一个指向该串的指针。如果读到文件尾或出错,则均返回一个空指针NULL,所以长用feof()函数来测定是否到了文件尾或者是ferror()函数来测试是否出错,
检测是否已到文件尾,是返回真,否则返回0,其原型是int feof(FILE *stream);
例:if(feof(fp))printf("已到文件尾");
原型是int ferror(FILE *stream);
返回流最近的错误代码,可用clearerr()来清除它,clearerr()的原型是void clearerr(FILE *stream);
例:printf("%d",ferror(fp));
例如下面的程序用fgets()函数读test.txt文件中的第一行并显示出来:
#include "stdio.h" int main() { FILE *fp; char str[128]; if((fp=fopen("123.txt","r"))==NULL) { printf("cannot open file/n"); exit(1); } while(!feof(fp)) { if(fgets(str,128,fp)!=NULL) printf("%s",str); } fclose(fp); }
相关学习推荐:C视频教程
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

C Structure des données du langage: La représentation des données de l'arborescence et du graphique est une structure de données hiérarchique composée de nœuds. Chaque nœud contient un élément de données et un pointeur vers ses nœuds enfants. L'arbre binaire est un type spécial d'arbre. Chaque nœud a au plus deux nœuds enfants. Les données représentent StrustReenode {intdata; structTreenode * gauche; structureReode * droite;}; L'opération crée une arborescence d'arborescence arborescence (prédécision, ordre dans l'ordre et ordre ultérieur) Le nœud d'insertion de l'arborescence des arbres de recherche de nœud Graph est une collection de structures de données, où les éléments sont des sommets, et ils peuvent être connectés ensemble via des bords avec des données droites ou peu nombreuses représentant des voisins.

La vérité sur les problèmes de fonctionnement des fichiers: l'ouverture des fichiers a échoué: les autorisations insuffisantes, les mauvais chemins de mauvais et les fichiers occupés. L'écriture de données a échoué: le tampon est plein, le fichier n'est pas écrivatif et l'espace disque est insuffisant. Autres FAQ: traversée de fichiers lents, encodage de fichiers texte incorrect et erreurs de lecture de fichiers binaires.

C Guide de programmation multithreading Language: Création de threads: Utilisez la fonction PTHREAD_CREATE () pour spécifier l'ID de thread, les propriétés et les fonctions de thread. Synchronisation des threads: empêchez la concurrence des données via des mutex, des sémaphores et des variables conditionnelles. Cas pratique: utilisez le multi-lancement pour calculer le numéro Fibonacci, attribuer des tâches à plusieurs threads et synchroniser les résultats. Dépannage: résoudre des problèmes tels que les accidents de programme, les réponses d'arrêt de fil et les goulots d'étranglement des performances.

Les algorithmes sont l'ensemble des instructions pour résoudre les problèmes, et leur vitesse d'exécution et leur utilisation de la mémoire varient. En programmation, de nombreux algorithmes sont basés sur la recherche et le tri de données. Cet article présentera plusieurs algorithmes de récupération et de tri de données. La recherche linéaire suppose qu'il existe un tableau [20,500,10,5,100,1,50] et doit trouver le numéro 50. L'algorithme de recherche linéaire vérifie chaque élément du tableau un par un jusqu'à ce que la valeur cible soit trouvée ou que le tableau complet soit traversé. L'organigramme de l'algorithme est le suivant: Le pseudo-code pour la recherche linéaire est le suivant: Vérifiez chaque élément: Si la valeur cible est trouvée: return True return false C Implementation: # include # includeIntMain (void) {i

Comment produire un compte à rebours en C? Réponse: Utilisez des instructions de boucle. Étapes: 1. Définissez la variable N et stockez le numéro de compte à rebours à la sortie; 2. Utilisez la boucle while pour imprimer en continu n jusqu'à ce que n soit inférieur à 1; 3. Dans le corps de la boucle, imprimez la valeur de n; 4. À la fin de la boucle, soustrayez N par 1 pour sortir le prochain plus petit réciproque.

C Structure des données du langage: Aperçu du rôle clé de la structure des données dans l'intelligence artificielle dans le domaine de l'intelligence artificielle, les structures de données sont cruciales pour traiter de grandes quantités de données. Les structures de données fournissent un moyen efficace d'organiser et de gérer les données, d'optimiser les algorithmes et d'améliorer l'efficacité du programme. Les structures de données courantes utilisées couramment les structures de données dans le langage C comprennent: les tableaux: un ensemble d'éléments de données stockés consécutivement avec le même type. Structure: un type de données qui organise différents types de données ensemble et leur donne un nom. Liste liée: une structure de données linéaire dans laquelle les éléments de données sont connectés ensemble par des pointeurs. Stack: Structure de données qui suit le dernier principe de premier-out (LIFO). File: Structure de données qui suit le premier principe de première sortie (FIFO). Cas pratique: le tableau adjacent dans la théorie des graphiques est l'intelligence artificielle

Les fonctions de langue C sont des blocs de code réutilisables, des paramètres de réception pour le traitement et des résultats de retour. Il est similaire au couteau suisse, puissant et nécessite une utilisation minutieuse. Les fonctions incluent des éléments tels que la définition des formats, des paramètres, des valeurs de retour et des corps de fonction. L'utilisation avancée comprend des pointeurs de fonction, des fonctions récursives et des fonctions de rappel. Les erreurs communes sont le type de type et oublier de déclarer les prototypes. Les compétences de débogage comprennent l'impression des variables et l'utilisation d'un débogueur. L'optimisation des performances utilise des fonctions en ligne. La conception des fonctions doit suivre le principe de la responsabilité unique. La maîtrise des fonctions du langage C peut améliorer considérablement l'efficacité de la programmation et la qualité du code.

Dépannage des conseils pour les fichiers de traitement du langage C Lors du traitement des fichiers dans le langage C, vous pouvez rencontrer divers problèmes. Les problèmes suivants sont des problèmes communs et des solutions correspondantes: Problème 1: Impossible d'ouvrir le code de fichier: fichier * fp = fopen ("myfile.txt", "r"); if (fp == null) {// ouverture de fichier a échoué} Raison: le fichier d'erreur de fichier Fichier ne existe pas sans la lecture de fichier Code de lecture de fichier: Charbuffer [100]; size_tread_bytes = Fread (tampon, 1, siz
