Accueil > Forum > > > > Copier/coller de données contenue dans un fichier en C
Copier/coller de données contenue dans un fichier en C
lundi 6 juin 2005 à 12:34:28 |
Copier/coller de données contenue dans un fichier en C

petit_mateo
|
Voici mon code :
#include <stdio.h> #include <stdlib.h> #include <time.h> int x() { char ANCIEN[] = "resta.txt"; char NOUVEAU[] = "restb.txt"; FILE *INFILE, *OUTFILE; char J1o[30], J2o[30];
INFILE = fopen(ANCIEN, "r"); if (!INFILE) { printf("Erreur : impossible d'ouvrir...%s", ANCIEN); exit(-1); } OUTFILE = fopen(NOUVEAU, "w"); if (!OUTFILE) { printf("Erreur : impossible d'ouvrir...%s", NOUVEAU); exit(-1); } while (!feof(INFILE)) { fscanf (INFILE, "%s\n%s\n", J1o, J2o); fprintf (OUTFILE, "%s\n%s\n", J1o, J2o); } fclose(OUTFILE); fclose(INFILE); system("pause"); return 0; } int y(char *J1, char *J2) { time_t t; char ANO[] = "resta.txt"; FILE *ENREG; ENREG = fopen(ANO, "w"); if (!ANO) { printf("Erreur : impossible d'ouvrir...%s", ENREG); exit(-1); } else { time(&t); printf("%s\n", ctime(&t)); fprintf (ENREG, "%s %s %s\n", J1, J2, ctime(&t)); } } int main() { char Jo1[30]; char Jo2[30]; printf("Nom du joueur 1 : "); scanf("%s", Jo1); printf("Nom du joueur 2 : "); scanf("%s", Jo2); y(Jo1, Jo2); x(); }
Mon soucy est que le second enregistrement (dans le fichier NOUVEAU) qui donc doit correspondre à un copier/coller du 1er (fichier ANCIEN) ne se fait pas correctement ! Dans le fichier ANCIEN, j'ai : azezr rgr Mon Jun 06 12:17:05 2005 Et dans le second, fichier NOUVEAU, il s'enregistre ça : Jÿ_+^ÿ(ßú &6ÿ ÿÆÕºx¤Bresta.txt
Il est le soucy??? Que dois-je faire??? Je v peter un cable et l'ordi par la meme occaz! lol
Par la meme occassion, que dois-je rajouter pour que l'enregistrement du 1er fichier (ANCIEN) doit se coller à la fin du 2eme enregistrement (NOUVEAU) ???
Merci de votre rapidité (please avant le 20 juin 2005!!!)
|
|
lundi 6 juin 2005 à 12:42:05 |
Re : Copier/coller de données contenue dans un fichier en C

Pamaury
|
Réponse acceptée !
si tu dois copier et coller le fichier parfaitement, regarde s'il n'existe pas une fonction copy dans stdio sinon c'est beaucoup plus rapide de faire: OUTFILE=fopen(outfile,"wb");// note 'b' après le' w' INFILE=fopen(infile,"rb");// idem fseek(INFILE,0,SEEK_END);// va à la fin du fichier long size=ftell(INFILE);// récupère la taille fseek(INFILE,0,SEEK_SET);// retourne au début void *lpBuffer=malloc(size); fread(lpBuffer,1,size,INFILE); fwrite(lpBuffer,1nsize,OUTFILE); fclose(INFILE); fclose(OUTFILE); ce la marche si le fichier fais moi de 4Go et là pas de problème
A m a u r y
|
|
lundi 6 juin 2005 à 13:06:50 |
Re : Copier/coller de données contenue dans un fichier en C

petit_mateo
|
Pamaury, merci bien mais y'a pas de fonction copier/coller dans stdio
|
|
lundi 6 juin 2005 à 13:08:07 |
Re : Copier/coller de données contenue dans un fichier en C

petit_mateo
|
Je pige pas l'utilité du d derriere le mode d'ouverture des fichiers...
Sinon merci pour la fonction de fin de fichiers !
Ma question reste d'actualité ! Snif !
|
|
lundi 6 juin 2005 à 13:11:42 |
Re : Copier/coller de données contenue dans un fichier en C

vecchio56
|
Tu es sous window (system("pause")). Utilise donc CopyFile (#include <windows.h>)
|
|
lundi 6 juin 2005 à 13:13:20 |
Re : Copier/coller de données contenue dans un fichier en C

petit_mateo
|
vecchio56, bonne idée mais je bosse sur Turbo C et la bibliotheque window.h n'existe pas!!!! Je suis obligé car c pour des exams d'utiliser le vieux turbo C !!! La haine!
|
|
lundi 6 juin 2005 à 14:41:08 |
Re : Copier/coller de données contenue dans un fichier en C

Pamaury
|
Réponse acceptée !
avec ma fonction cela te permet de copier/coller n'importe quel fichier: int copy_file(const char *infile,const char *outfile) { FILE *OUTFILE=fopen(outfile,"wb");// note 'b' après le' w': écriture en binaire(tous les octets sont copier) FILE *INFILE=fopen(infile,"rb");// idem lecture en binaire(tous les octets sont copier) if(!INFILE || !OUTFILE) return 0; fseek(INFILE,0,SEEK_END);// va à la fin du fichier long size=ftell(INFILE);// récupère la taille fseek(INFILE,0,SEEK_SET);// retourne au début void *lpBuffer=malloc(size); fread(lpBuffer,1,size,INFILE); fwrite(lpBuffer,1,size,OUTFILE); fclose(INFILE); fclose(OUTFILE); return 1; }
Pour ta deuxième question je n'ai pas tout compris: tu veux copier ce qui est dans le fichier ANCIEN pour le recoller à la suite de ce même fichier ??? si c'est bien cela il suffit de tranbsformer cette ligne: FILE *OUTFILE=fopen(outfile,"wb"); en: FILE *OUTFILE=fopen(outfile,"awb");// le 'a' permet d'ajouter à la fin du fichier au lieu d'écraser et d'appeler ma fonction avec le même fichier en entrée et sortie: copy_file("test.txt","test.txt"); A m a u r y
|
|
lundi 6 juin 2005 à 16:08:33 |
Re : Copier/coller de données contenue dans un fichier en C

petit_mateo
|
Merci ! Tout ça m'a bien aidé et le soucy est résolu !
Specials thanx to AMAURY...
|
|
lundi 6 juin 2005 à 17:31:52 |
Re : Copier/coller de données contenue dans un fichier en C

Joky
|
Mais dis moi, après un malloc ??? on fait pas un free( ... ) ;) lol, pour une fois que j'peux faire une remarque :p void Aurevoir( void ); //Bonne journée
|
|
lundi 6 juin 2005 à 17:41:16 |
Re : Copier/coller de données contenue dans un fichier en C

Joky
|
Et pourquoi quand je le fais et que j'affiche le buffer, il me rajoute des caractères ??? Genre dans le fichier ya : "Joky c'est un beau gosse quand meme" et quand je l'affiche, j'ai : "Joky c'est un beau gosse quand meme\Micra" étrange... Faudrait pas lui indiquer la fin de la chaïne ??? void Aurevoir( void ); //Bonne journée
|
|
Cette discussion est classée dans : fichier, printf, char, ancien, infile
Répondre à ce message
Sujets en rapport avec ce message
Aide pour enregistrement fichier en C [ par petit_mateo ]
Voici mon code :#include #include #include int x(){ char ANCIEN[] = "resta.txt"; char NOUVEAU[] = "restb.txt"; FILE *INFILE, *OUTFILE;<
Lecture et ecriture sur fichier [ par developvbdebut ]
Bonjour tout le mondeJe travaille sur la gestion des fichier en c.Mon livre n'explique pas clairement l'ectriture et la lecture dans les fichiers.Voic
CRYPTAGE !!! [ par megaman ]
Voilà j'essai de faire un log de cryptage à l'aide de fonctions et procédure.Les fonctions et procédures :Une fonction qui retourne le nom de fichieru
SOS manque d'inspiration [ par graall ]
J'ai besoin de faire un petit programme (en mode console) qui demande à l'utilisateur de saisir le nom d'un fichier et ensuite, qui vérifie si ce fich
Problème de lecture fichier [ par nach73 ]
J'ai un enorme probleme je n'arrive pas a lire dans mon fichierVoila la partie de mon programme.Si quelqu'un peux m'aide.Merci.//ouverture du fichier
Debutant : ecrire et lire un fichier txt [ par manu ]
Bonjour a tous.Je debute, aussi desole.... :)Je cherche donc a ecrire dans un fichier txt, puis a lire ce fichier ligne a ligne, faire un split / expl
[debutant]attribution dun mot a une char et comparaison ... [ par DarkEbola ]
en fait, jaurais aimé attribuer du texte a une charkke chose comme 500 ou 600 caracteres maximais jarrive pas a lui attribuer plus de 1 Charsuis-je pl
Je cherche l'erreur [ par ScorpionTiti ]
J'ai effectué un programme qui me permette d'écrire dans un fichier et je l'ai compilé. En le lançant, il m'envoie un message d'erreur mais je ne sais
char ** [ par PADYVEN ]
Si quelqu'un peut jeter un oeil sur ce code et le critiquer merci(constructive les critiques :-))j'ai un probleme tout betece programme lit un fichier
un probléme avec la lecture de fichier [ par sanae19 ]
bonsoir en fait voila j'ai un petit probléme de lecture de fichier en fait ma, methode marche tres bien tout seule mai le probléme c'est qu'elle enreg
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURSTECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURS par ROMELARD Fabrice
Animé par: Laurent Cotton Le développement dans SharePoint 2010 passe par plusieurs axes qui seront évoqués dans cette session, mais plus particulièrement les développements simples lié au besoin Business Business Connectivity Services Ce BCS es...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOURTECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOUR par ROMELARD Fabrice
Cette session est la dernière pleinière de ces 3 jours de TechDays Paris 2010. Généralement, cette troisième journée est plus axée sur l'avenir vu par Microsoft. Après un retour sur l'avenir vu par la Science Fiction ou par ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion
Forum
RE : WIN APIRE : WIN API par racpp
Cliquez pour lire la suite par racpp
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|