Accueil > Forum > > > > ecrire dans un file a un endroit precis
ecrire dans un file a un endroit precis
mercredi 11 août 2004 à 17:09:22 |
ecrire dans un file a un endroit precis

taliaw
|
je suis debutante en vc++ et j'essaye d'ecrire un prog pour ecrire ds un fichier texte a un endroit precis. si une ame genereuse n'aurait pas par hasard ecrit un code similaire ne pourrait pas me l'envoyer afin que je puisse m'en inspirer.Merci de tout coeur.
|
|
mercredi 11 août 2004 à 17:19:07 |
Re : ecrire dans un file a un endroit precis

BruNews
|
CreateFile pour ouvrir. SetFilePointer pour placer. WriteFile pour ecrire.
Gaffe que tu vas ecraser ce qui s'y trouvera et surtout ne pas chercher a pointer au dela de la fin du fichier sinon badaboum.
ciao... BruNews, Admin CS, MVP Visual C++
|
|
mercredi 11 août 2004 à 17:30:40 |
Re : ecrire dans un file a un endroit precis

DevGizmo
|
tu aurais bien une fonction du genre mais si tu precise ta question, cela va de sois, tu auras une reponse plus precise.
Globalement ca pourrais etre un truc de ce genre:
#include <stdio.h>
char EcritDansFichier(char *szFileName, const char *szString, long lPosition) { FILE *hFile; // handle du fichier hFile = NULL;
// On ouvre le fichier en ecriture hFile = fopen( szFileName, "w" );
// Si le fichier n'est pas ouvert: on sort... if( !hFile ) return -1;
// Protection si la position est negative: if( lPosition < 0 ) { // On ferme le fichier fclose( hFile );
// On sort avec un code d'erreur return -1; } // fseek sert a se positionner dans un fichier fseek( hFile, lPosition, SEEK_SET ); // On ecrit la chaine fputs( hFile, szString ); // On ferme le fichier fclose( hFile ); // On sort avec un code de success return 1; }
Remarques importantes:
(1) Si la fonction est appellee plusieurs fois, seule la chaine du dernier appel sera dans le fichier. Dans le cas ou tu voudrais ajouter il faut ouvrir le fichier en mode append.
(2) Si tu tiens compte de la remarque (1) et que donc tu veux appeller plusieurs fois la fonction, les chaines ecrites ne seront pas ecrite avec un retour a la ligne.
|
|
mercredi 11 août 2004 à 17:41:02 |
Re : ecrire dans un file a un endroit precis

BruNews
|
Dans vc++ on compile pour Windows qui considere maree et autres flux comme obsoletes, on se servira donc de API et on gagne vitesse + 8 Ko d'exe a ne pas inclure stdio.h.
ciao... BruNews, Admin CS, MVP Visual C++
|
|
mercredi 11 août 2004 à 17:57:19 |
Re : ecrire dans un file a un endroit precis

DevGizmo
|
BruNews: je trouve tes reponses tres pertinentes, le seul probleme, c'est qu'etant donne que taliaw est debutante; je pense mais en tout bien tout honneur que tu aurais au moins pu prendre tout comme moi..., le temps d'ecrire une petite fonction lui montrant l'utilisation de ces zolis api's Windows. D'autre part...les api's dont tu cite le nom, sont branche en interne sur les api's "io" donc aucune difference de vitesse.
ciao... Fred, Pas Admin, Pas MVP Visual C++
|
|
mercredi 11 août 2004 à 18:02:40 |
Re : ecrire dans un file a un endroit precis

BruNews
|
Aucune difference de vitesse ? c'est une plaisanterie, on la deja demontre un paquet de fois ici. Comment veux tu qu'une couche d'interpretation comme fputs soit aussi rapide qu'une commande directe driver comme WriteFile. Des exemples elle en trouvera plein les sources, pas seuilement les miennes (voir ymca2003 et d'autres). Il faut donner toutes les pistes mais leur laisser aussi un travail de recherche, ça s'encrera bien mieux ainsi. Richter documente tout cela avec exemples: http://brunews.free.fr/brunews/download/JR4.zip http://brunews.free.fr/brunews/download/JR4Sources.zip
ciao... BruNews, Admin CS, MVP Visual C++
|
|
mercredi 11 août 2004 à 19:39:47 |
Re : ecrire dans un file a un endroit precis

magic_Nono
|
taliaw si tu ve un exemple simple d'emploi j'ai créer une bibli BFichierTxt regarde mes premieres sources sur ce site exemple d'emploi: creeFicHello() { BFichierTxt fic("c:\\monChemin\\monFichier.txt","w"); fic+="hello"; }
|
et tu auras un fichier comportant la chaine hello voila, y a tjs moyen d'augmenter la vitesse etc, mais je préfère d'abord les bibliothèques simples d'emploi Magic Nono: l'informagicien!PS: d'aucun préciseront que mes bibli ne sont pas si simple car elles nécessites d'autres inclusions.... C normal, je pratique un développement modulaire je répondrai alors de télécharger un de mes projets complet comportant les bibli en question et tout ce qui est nécessaire sera en votre possession ++
|
|
mercredi 11 août 2004 à 19:41:47 |
Re : ecrire dans un file a un endroit precis

magic_Nono
|
au fait fopen (ou BFichier) s'emploi avec "a" en 2e param pour les maj
Magic Nono: l'informagicien!
|
|
mercredi 11 août 2004 à 19:48:43 |
Re : ecrire dans un file a un endroit precis

BruNews
|
magic_Nono > en quoi ce sera plus simple que les APIs de fichier qui sont vraiment 'plus con tu meurs', je peux comprendre une bibli 3D ou ce genre de chose, mais la vraiment a part grossir exe et ralentir, je ne cerne toujours pas le but.
ciao... BruNews, Admin CS, MVP Visual C++
|
|
mercredi 11 août 2004 à 20:00:47 |
Re : ecrire dans un file a un endroit precis

magic_Nono
|
hello
là ou nous différons BruNews, C que je préfère un prg faisant 3000 verif meme en double et très stable
à de l'assembleur ou tu aurai virer toutes ces verif que tu qualifie d'inutiles car vu que tu programme "bien" et surtout depuis lgt, tu ne fait pas un certain nombre d'erreur que je préfère vérifier & au besoin signaler...
Dc celles de bases ne sont pas si cons que ça et j'utilise les miennes que j'ai sécurisé au fur & a mesure du tps
Dc les miennes sont peut-etre a qualifier de "Pour les Nuls" mais c'est à mon sens un label de qualité. Et les tiennes ... pardon, tu n'en as pas, ça ralentit...
ceci dit, les compilos sont là pour optimiser non?
Magicalement
Magic Nono: l'informagicien!
PS : tu n'as pas répondu : comment ferais-tu une hashTable...
|
|
Cette discussion est classée dans : file, ecrire, endroit, precis
Répondre à ce message
Sujets en rapport avec ce message
Ecrire à un endroit précis dans la console [ par Roro8883 ]
Bonjour à tous !J'aimerais savoir quelle commande utiliser pour écrire à un endroit précis de la console, pour remplacer le texte qu'y s'y trouvait av
ecrire ds un fichier [ par 69lion69 ]
Salut a tous alor voila dans une application en api windows je créér un fichier et je copie le contenu dun tableau de float le fichier mais il ma'affi
Aide pour ecrire dans un fichier :x [ par krokro6 ]
bonjour, j'ai un petit probléme pour ecrire dans un fichier void file() { FILE *flo; flo=fopen("test.txt","w+"); fprintf(flo,"Ca marche
prob avec include<bzlib.h> [ par progrima ]
j'ai télécharger un code de codes sources qui fait de la compréssion , mais en l'exécutant j'ai eut l'erreur suivante :Cannot open include file: 'bzli
fatal error C1083: Cannot open include file: 'stdbool.h': No such file or directory [ par moonalex ]
j ai inclu le fichier stdbool.h dans mon programme mais lorsque je compile j ai cette erreur. mon code source est .c file. je suis obligee parcquil es
Lecture d'un fichier et affichage de balises [ par SpiritAnghell ]
Bonjour;Le programme suivant est censé extraire les balises d'un fichier xml et les afficher une par une:#include #include #include #include #include
Winsock2.h : Besoin d'aide, erreur inconnue. [ par SeBaZaToR2 ]
J'ai un petit problème. J'ai commencé à apprendre winsock et son fonctionnement mais la... le probleme c'est que je ne comprend pas mon erreur dans ma
Repertoire et liste chainée [ par max33fr ]
Bonjour,J'aimerais lister le contenu d'un répertoire (fichiers et dossier) et mettre ces élements dans une liste.J'arrive à lister les fichiers conten
Comment changer la lecture seul d'un repertoire ? [ par panik6666666 ]
Bonjour a tous, J'ai une question bete: comment changer la lecture seul d'un repertoire ? j'ai essayé avec avec ca : HANDLE hFile = CreateFile(nom_r
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|