begin process at 2012 02 12 13:17:19
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichiers / Disque

 > ECRITURE DANS UN FICHIER

ECRITURE DANS UN FICHIER


 Information sur la source

Note :
6,08 / 10 - par 13 personnes
6,08 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Fichiers / Disque Niveau :Initié Date de création :27/05/2001 Vu :32 565

Auteur : Arnotic

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (17)
Ajouter un commentaire et/ou une note


 Description

Voici un exemple de code pour écrire des données dans un fichier. J'ai choisis d'incrire 5 nombre flottants mais vous pouvez modifier tout cela ! :)

Source

  • #include <stdio.h>
  • #include <stdlib.h>
  • /* EXEMPLE D'OUVERTURE DE FICHIER */
  • /* RAPPEL :
  • r : Ouverture du fichier en lecture, Si le fichier n'existe pas, fopen() renvoie NULL
  • w : Ouverture du fichier en écriture. Si le fichier n'existe pas, il est créé. S'il existe
  • déjà, son contenu est effacé
  • a : Ouverture du fichier en lecture et en écriture. Si le fichier n'existe pas, il est créé.
  • S'il existe déjà, les nouvelles infomormations sont ajouté à la fin
  • r+ : Ouverture du fichier en lecture et en écriture. Si le fichier n'existe pas, il est créé. S'il existe déjà, les nouvelles
  • informations sont écrites en tête, écrasants celles qui s'y trouvaient précédemment
  • w+ : Ouverture du fichier en lecture et en écriture. Si le fichier n'existe pas, il est créé. S'il existe déjà, son contenu est écrasé.
  • a+ : Ouverture du fichier en lecture et en mise à jour. Si le fichier n'existe pas il est créé. S'il
  • existe déjà, les nouvelles informations sont ajoutées à la fin.
  • */
  • /* Exemple d'un programme d'écriture sur un fichier*/
  • void clear_kb(void);
  • void main()
  • {
  • FILE *fp;
  • float data[5];
  • int count;
  • char filename[20];
  • puts("Tapez 5 valeurs numériques en flottant : ");
  • for (count=0; count<5; count++)
  • {
  • scanf("%f",&data[count]);
  • }
  • clear_kb();
  • puts("Indiquez un nom pour le futur fichier : ");
  • gets(filename);
  • if ((fp = fopen(filename, "w")) == NULL)
  • {
  • fprintf(stderr, "Erreur à l'ouverture du fichier %s en mode w.\n\n", filename);
  • exit(1);
  • }
  • for (count=0; count<5; count++)
  • {
  • // Ecriture dans le fichier + impression à l'ecran
  • fprintf(fp, "\ndata[%d] = %f", count, data[count]);
  • fprintf(stdout,"\nEcriture de : data[%d] = %f", count, data[count]);
  • }
  • fclose(fp);
  • printf("\n\n");
  • }
  • void clear_kb(void)
  • {
  • // Vidage de tout caractère en attente.
  • char junk[80];
  • gets(junk);
  • }
#include <stdio.h>
#include <stdlib.h>

/* EXEMPLE D'OUVERTURE DE FICHIER */

/* RAPPEL :
	r  : Ouverture du fichier en lecture, Si le fichier n'existe pas, fopen() renvoie NULL
	w  : Ouverture du fichier en écriture. Si le fichier n'existe pas, il est créé. S'il existe 
	     déjà, son contenu est effacé
	a  : Ouverture du fichier en lecture et en écriture. Si le fichier n'existe pas, il est créé.
	     S'il existe déjà, les nouvelles infomormations sont ajouté à la fin
	r+ : Ouverture du fichier en lecture et en écriture. Si le fichier n'existe pas, il est créé. S'il existe déjà, les nouvelles
	     informations sont écrites en tête, écrasants celles qui s'y trouvaient précédemment
	w+ : Ouverture du fichier en lecture et en écriture. Si le fichier n'existe pas, il est créé. S'il existe déjà, son contenu est écrasé.
	a+ : Ouverture du fichier en lecture et en mise à jour. Si le fichier n'existe pas il est créé. S'il 
	     existe déjà, les nouvelles informations sont ajoutées à la fin.
*/

/* Exemple d'un programme d'écriture sur un fichier*/

void clear_kb(void);

void main()
{
	FILE *fp;
	float data[5];
	int count;
	char filename[20];

	puts("Tapez 5 valeurs numériques en flottant : ");
		for (count=0; count<5; count++)
		{
			scanf("%f",&data[count]);
		}

	clear_kb();

	puts("Indiquez un nom pour le futur fichier : ");
	gets(filename);

	if ((fp = fopen(filename, "w")) == NULL)
	{
		fprintf(stderr, "Erreur à l'ouverture du fichier %s en mode w.\n\n", filename);
		exit(1);
	}

	for (count=0; count<5; count++)
	{
		// Ecriture dans le fichier + impression à l'ecran
		fprintf(fp, "\ndata[%d] = %f", count, data[count]);
		fprintf(stdout,"\nEcriture de : data[%d] = %f", count, data[count]);
	}

	fclose(fp);

	printf("\n\n");
}

void clear_kb(void)
{
	// Vidage de tout caractère en attente.
	char junk[80];
	gets(junk);
} 

 Conclusion

Amusez-vous bien ! :))


 Sources du même auteur

Source avec Zip Source avec une capture ARCOLOR (WIN64)
Source avec Zip REMPLACE CRT (WIN64)
Source avec Zip Source avec une capture CREATION DE FICHIER PDF
Source avec Zip SURVEILLER LA MÉMOIRE D'UN PROCESSUS
Source avec Zip TOOL - MOVE CHAINE

 Sources de la même categorie

Source avec Zip Source avec une capture GENERE BMP par lajouad
Source avec Zip Source avec une capture GETIONNAIRE D'UNE BIBLIOTHÉQUE EN C par benzarabel
FONCTION D'ÉDITION DE FICHIER BIT À BIT [C-MULTIPLATEFORME] par lynxtyle
Source avec Zip Source avec une capture UN GESTIONNAIRE DU FICHIER par benzarabel
Source avec Zip COPIE DE FICHIERS PAR RESEAU LOCAL par cczerty

Commentaires et avis

Commentaire de satanik_mike le 03/02/2002 01:09:38

Salut,
En effet, il y a quelques truc à changer, ainsi qu'une petite erreur de traduction, il ne fallait pas traduire : "5 valeurs numériques en flottant", mais "5 valeurs numériques de type float". :-))

Commentaire de chavez le 22/12/2002 22:03:16

Ca va m'apprendre des trucs!

Commentaire de zzzzzz le 12/02/2003 21:37:56

tres tres instructif merci beaucoup!

Commentaire de zzzzzz le 12/02/2003 22:26:46

sa marche pas si on enleve clear_kbd(); sans aucun rajout de code juste l'enlever ba le prog se ferme avant de demander le nom de fichier

Commentaire de inu974 le 20/05/2003 08:41:40

merci beaucoup pour ton code surtout pour le rappel des differents parametres au debuit du code

Commentaire de cppdupdup34 le 06/07/2003 23:40:46

ce fut utile surtout les rappels du début

Commentaire de mdcn le 08/07/2003 13:34:34

bien bien de penser u scanf mais tu fais cmt si tu veux des espaces? enfin j'ai pas regardé le code ça ne m'intéresse pas perso mais c juste pr faire réfléchir.

merci quand même pr les autres

;-)

Commentaire de alimdi le 03/11/2003 00:39:32

Bah pour le rappel de debut les man pages suffisent :)

Commentaire de Guidelor le 03/02/2004 22:06:59

ca va sans doute me servir mais plus de commentaires n'auraient pas été de trop !
donc moi qui suis debutant je suis obligé de chercher tous les mots que je comprends pas !...

Commentaire de sobolev le 26/03/2004 15:11:18

c'est quoi cette connerie!

Commentaire de magic_Nono le 27/07/2004 14:28:53

niveau initié ? fo po pousser qd mm!
pense à un outil style MP pr tes commentaires!

++

Commentaire de Fituza le 29/09/2004 19:04:42

thx pour ce ptit tuto

Commentaire de mayouma le 20/04/2005 00:38:46

et si je veux écrire dans un fichier qui contient des informations mais au debut et non à la fin; comment faire?

Commentaire de ewe le 23/06/2005 14:56:13

mayouma lseek sa existe regarde dans la meuseudeuneu

Commentaire de rainiou le 19/02/2007 13:05:57

C'est toujours très utile quand on ne se sert pas de l'ecriture fichier tous les jours!

Commentaire de toxicopathe le 21/04/2007 15:31:28

sympatique, ce qui m'enerve avec les fichier c'est que quand on ecrit en plein milieu par exemple, les caracteres suivants sont effacés ... perso je fais une copie du fichier qui s'arrete là ou je dois faire un ajout, une chaine de caractere par exemple, et ensuite je copie le reste (je sais pas si j'ai été tres clair :s)

je trouve ca vraimment lourd ...

si quelqu'un connait plus simple je suis tout ouie :)

Commentaire de mogador le 14/12/2009 20:07:14

Bonjour,

je souhaiterais convertir n'importe quel type de fichier (txt, jpg, avi, exe ...) en fichier binaire ou plutot en fichier texte contenant un suite de 0 et 1. et la meme chose faire le contraire.



#include <stdio.h>

int main(int argc, char **argv) {
/*
FILE *fp;
fp=fopen("test.c", "wb");
char x[10]="ABCDEFGHIJ";
fwrite(x, sizeof(x[0]), sizeof(x)/sizeof(x[0]), fp);
*/

FILE *fp;
fp=fopen("test.c", "rb");
char x[10];//="ABCDEFGHIJ";
fread(x, sizeof(char), 10, fp);

printf("%d================",sizeof(x));
printf("\n");
for(int i=0;i<sizeof(x);i++)
{

printf("%x==========",x[i]);
//printf("\n");
for(int j=7;j>=0;j--)
{
//printf("(%d)",j);
printf("%d",(x[i]>>j)&(255>>7));
}
printf("\n");
}




}





Merci pour votre aide.

sed

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales