Plusieurs exemples de données lecture et écriture langue IO C

fgetc int (FILE * flux)
int de fputc (int CH, le fichier * flux)
renvoyée par la fonction de fgetc () d' un caractère à partir de la position actuelle du flux d'entrée, et le pointeur de fichier pour le pointeur de caractère suivant à la fin du fichier si, fonction retourne EOF, à ce moment représente la fin de cette opération, lorsque la fin de la lecture et l' écriture de fichiers, le fichier doit être fermé.
de la fonction fputc () écrit une valeur à la fin du fichier de flux de caractère ch spécifiée par la position actuelle et le pointeur de fichier après un déplacement. de fputc () valeur de retour de la fonction est la valeur des caractères d' écriture, les retours EOF erreur.

le fscanf int (courant le FILE *, char * format, liste_arg)
int fprintf (courant le FILE *, char * format, liste_arg)
format de fichier est lu par une lettre correspondant à la fonction décrite ci-dessus f devient le fscanf () et fprintf ( ) 
dans lequel, le pointeur de fichier de flux pour le flux, et scanf les deux autres paramètres () et printf () en utilisant la même.

char * fgets (char * str, int num, FILE stream *) // ligne de données lues sentiment
fputs int (char * STR, le fichier * flux)
fonction fgets () lit le flux à partir du fichier de flux dans la plupart des caractères num-1. et les mettre dans les points tableau caractère str à. Lit les caractères rencontrés jusqu'à ce que le retour chariot ou EOF (fin de fichier) jusqu'à ce que la, ou lire le caractère défini.
fonction fputs () écrit le fichier flux pointé str chaîne. Lorsque l'opération est réussie, la fonction retourne 0, sinon renvoyer une valeur non nulle. 

fread int (buf void *, la taille int, int COUNT, le flux de fichiers *)
int fwrite (void * buf, la taille int, int COUNT, le flux de fichiers *)
fonction fread () lit à partir du comptage réalisé flux de fichiers de flux (le nombre de champs ) les champs, chaque taille de champ (longueur de champ) des caractères et les mettre BUF (tableau de caractères pointé par buffer).
retour de la fonction fread () le nombre de champs réellement lus. Si le nombre requis de la fonction appelle à lire champ dépasse le nombre de champs stockés dans le fichier, une erreur ou à la fin du fichier, la détection est à noter que l'opération proprement dite.
fwrite fonction du point tableau de caractères buf (tampon) () dans le compte (nombre de trames) champs courant écrit flux pointu, chacun des caractères de taille de champ long, la fonction retourne un champs de réussite de l' opération lors de l' écriture nombre.
A propos de lecture et d'écriture des fichiers en blocs, vous ne pouvez créer le format de fichier binaire lors de la création du fichier.

 

En règle générale, pour le format plus complexe des données d'entrée, nous pouvons prendre comme une entrée de chaîne de données dans différents formats, et convertit ensuite la chaîne au format désiré. C fournit la fonction:
int atoi (char * PTR)
un flotteur CIOAT (char * PTR)
long int Atol (char * PTR)
convertir respectivement la chaîne à entier, réel et entier long. S'il vous plaît utiliser le fichier d' en- tête de math.h qui contient ou Stdlib.h écrit avant le programme.

 

Copiez le code

#include « stdafx.h » 
#include <stdio.h> 

// seront stockés sur le disque à lire et à écrire des fichiers dans les caractères de texte spécifiés un par un, à lire à partir du fichier, puis l' afficher à l'écran. 
int main (int argc, char * argv []) 
{ 
    char ch; 
    le FILE * FP; 
    int i; 

    if ((FP = le fopen (argv [. 1], "R & lt")) == NULL) / * ouvert a par le argv [1] se référant au fichier * / 
    { 
        printf ( "Non ouvert"); 
        return 0; 
    } 

    le while (! (CH = fgetc (FP)) = EOF) / * un caractère lu à partir du fichier, à l'écran * / { 
        putchar (ch); // Si vous imprimez le même printf temps ( "(% d)" , ch), putchar chinois ne peut pas être affichée correctement 
    } 

    fclose (fp); 
    printf ( "le Bonjour tout le monde \ le n"); 
    return 0; 
}

Copiez le code

Copiez le code

#include "stdafx.h" 
#include <stdio.h> 
#include <string.h> 

// chaîne d'écriture sur le disque, et écrit un fichier texte test.txt: 
int main (int argc, char * argv [] ) 
{ 
    FICHIER * FP, 
    ombles STR [128]; 

    IF ((FP = fopen ( "test.txt", "W")) == NULL) 
    { 
        printf ( "Non ouvert"); 
        return 0; 
    } 

    le temps (( ! strlen (gets (str)) ) = 0) / * Si la longueur de chaîne est égale à zéro, puis la fin * / 
    { 
        fputs (STR, FP); / * écrire une chaîne * / 
        fputs ( "\ n", FP); / * écrire un retour chariot * / 
    } 

    fclose (FP), 
    le printf ( "Bonjour tout le monde le \ n"); 
    return 0; 
}

Copiez le code

Copiez le code

#include « le stdafx.h » 
#include <stdio.h> 

// des données d'écriture fichier texte formaté, et dont le fichier à lire la méthode mise en forme affichée à l'écran, 
// données formatées deux dossiers des étudiants, y compris le nom, numéro d'étudiant, deux résultats de sujets. 
int main (int argc, char * le argv []) 
{ 
    FILE * FP; 
    int I; 
    STU struct {/ * définition du type de structure * / 
        char nom [15]; 
        ombles NUM [. 6] 
        Score flotteur [2]; 
    } étudiant; / * variables de structure DESCRIPTION * / 

    IF ((FP = fopen ( "test.txt", "W")) == NULL) / * ouvrir un fichier texte écrit uniquement * / 
    { 
        printf ( « CAN fichier non ouvert "); 
        return 0; 
    } 
    printf (" données d' entrée: \ n "); 
    for (i = 0; I <2; i ++) 
    { 
        Scanf (" % S% F% F% S », student.name, étudiant. num,
            & Student.score [1]); / * entrée de clavier * / 
        fprintf (FP, "% s% s% 7.2F 7.2F% \ n-", student.name, student.num, 
            student.score [0], 
            Student .score [1]); / * fichiers d'écriture * / 
    } 
    fclose (FP); / * Fermer le fichier * / 

    if ((FP = fopen ( "test.txt", "R & lt")) == NULL) / * lecture seule rouvrir le fichier texte * / 
    { 
        le printf ( « ne peut pas ouvrir le fichier »); 
        return 0; 
    } 

    printf ( « sortie du fichier: \ n »); 
    // la fonction de numérisation fscanf est uniquement le format de balayage fixe, Que wrap ne boucle pas. Si une ligne de balayage que la moitié des données est ensuite balayée en dessous de 
    tout (fscanf (fp, "% s% s% f% f \ n", student.name, student.num, & student.score [0], & student.score [1])! = EOF) / * lire à partir du fichier * / {
        printf ( "% s% s% 7.2F 7.2F% \ n", student.name, student.num, student.score [0], student.score [1]); / * affichage à l'écran * / 
    } 

    fclose ( fp); / * fermer le fichier * / 
    
    printf ( "Bonjour tout le monde le \ le n"); 
    return 0; 
}

Copiez le code

 

Copiez le code

#include "le stdafx.h" 

int main (int argc, char * le argv []) 
{ 
    FICHIER * FP1; 
    int I; 
    STU struct {/ * définition de la structure * / 
        char nom [15]; 
        ombles NUM [. 6], 
        un flotteur Score [2]; 
    } étudiants; 

    if ((FP1 = fopen ( "test.txt", "WB")) == NULL) / * écrit binaire uniquement fichier ouvert * / 
    { 
        le printf ( "ne peut pas ouvrir le fichier") ; 
        return 0; 
    } 
    printf ( "données d' entrée: \ n-"); 
    for (i = 0; I <2; i ++) 
    { 
        Scanf ( "% S% F% F% S", student.name, student.num, & student.score [0], & student.score [1]); / * entrée d' une fiche * / 
        fwrite (& Student, le sizeof (Student) ,. 1, FP1);/ * Bloc est écrit dans le fichier * / 
    } 
    fclose (FP1);

    if ((FP1 = fopen ( " test.txt", "rb")) == NULL) / * écriture seulement pour re-ouvrir le fichier en binaire * / 
    { 
        printf ( "CAN ouvrir le fichier"); 
        return 0; 
    } 
    printf ( " la sortie de fichier: \ n- "); 
    for (i = 0; I <2; i ++) 
    { 
        fread (& Student, le sizeof (Student) ,. 1, FP1); / * bloc lu à partir du fichier vers un * / 
        printf (" % S % s% 7.2F 7.2F% \ n », student.name, student.num, student.score [0], student.score [1]); / * affichage à l'écran * / 
    } 
    fclose (FP1); 
    
    le printf ( ) "le Bonjour tout le monde \ le n!"; 
    return 0; 
}

Copiez le code


Un autre exemple de la vie et la mort n'est pas, conseiller s'il vous plaît:

Copiez le code

#include "stdafx.h" 
#include <stdio.h> 
#include <string.h> 

// chaîne d'écriture sur le disque, et écrit un fichier texte test.txt: 
int main (int argc, char * argv [] ) 
{ 
    le fichier * FP1, FP2 *; 
    omble chevalier STR [128]; 
    . IF ((FP1 = fopen ( "le test1.txt", "R & lt")) == NULL) / * fichiers en lecture seule * 1 / 
    { 
        printf ( "CAN ouvrir le fichier \ n"); 
        return 0; 
    } 

    if ((FP2 = fopen ( "test2.txt", "W")) == NULL) / * fichier ouvert pour l' écriture seulement * 2 / 
    { 
        printf ( "CAN ouvrir le fichier \ n"); 
        return 0; 
    } 

    le while ((strlen (fgets (STR, 128, FP1)))> 0) 
    { 
        fputs (STR, FP2);/ * Lire la chaîne de caractères à partir du fichier et écrit le fichier 1 * 2 / 
        le printf ( "% S", STR); / * in * affichage d'écran / 
    }
    fclose (FP1); 
    fclose (FP2); 
}

Copiez le code

Publié 407 articles originaux · louange gagné 150 · vues 380 000 +

Je suppose que tu aimes

Origine blog.csdn.net/ds1130071727/article/details/103387582
conseillé
Classement