begin process at 2012 05 29 10:21:14
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

ecrire dans un file a un endroit precis


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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

Administrateur CodeS-SourceS
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

Administrateur CodeS-SourceS
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

Administrateur CodeS-SourceS
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

Membre Club
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

Membre Club
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

Administrateur CodeS-SourceS
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

Membre Club
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...

1 2 3

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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 1,123 sec (4)

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