begin process at 2012 02 12 06:05:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

Insérer text dans un fichier !


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

Insérer text dans un fichier !

vendredi 28 juillet 2006 à 19:03:43 | Insérer text dans un fichier !

ElectricalMan

slt tt le monde,
est ce qu'il y a un moyen d'insérer du texte dans un fichier ss écraser ce qu' y avait ?!

//-----------------------------------------------------------------
// fonction qui rajoute un texte au début d'un fichier
//-----------------------------------------------------------------
void rajoutTextDansFic(FILE* fic, char str[])
{   
    rewind(fic);

    fprintf(fic, "%s", str);   // si je fait ça, ça écrase
}

vendredi 28 juillet 2006 à 19:24:17 | Re : Insérer text dans un fichier !

Zootella






>est ce qu'il y a un moyen d'insérer du texte dans un fichier ss écraser ce qu' y avait ?!
Au début du fichier, non.
A la fin, oui, en enlevant le
rewind.
vendredi 28 juillet 2006 à 19:27:02 | Re : Insérer text dans un fichier !

maladedede

Membre Club
Bein il faut que tu place le pointeur de la structure FILE vers la fin de ton fichier comme cela:
fseek(fic, filelength(fic), SEEK_SET);
--le 1er argument dit sur quelle structure FILE on décale le pointeur.
--le 2eme dit de combien d'octects, de caractaires que l'on deplace le pointeur du  fichier
   En effet  filelength() renvoi la taille du fichier
--Et le 3eme argument explique a partir de quel endroit on decale le fichier.

Dans le cas de SEEK_SET il faut comprendre que l'on décale de ponteur de "filelength(fic)" octect à partir du debut du fichier.


ou alors tu ouvres ton fichier en mode ajout: "a"
au lieu de: "r", "w", "r+" ou "w+"...

1/1MaLaDeDeDe 97one1/1 

vendredi 28 juillet 2006 à 19:31:16 | Re : Insérer text dans un fichier !

maladedede

Membre Club
ah il y a rewind mais moi je connais pas trop sprintf.......... donc j'ai posté comment positionner le pointeur.

1/1MaLaDeDeDe 97one1/1 

vendredi 28 juillet 2006 à 20:09:08 | Re : Insérer text dans un fichier !

SAKingdom

Membre Club
Mettre du texte au début comme au millieu, c'est possible. Mais c'est tout un sport. Premièrement, pour insérer du texte au début, tu peux mettre dans un buffer tout le texte de ton fichier, écrire ton texte pour le début, réouvrire en mode "a" puis copier le buffer dans le fichier. Avec les fonctions de l'API ça donne à peut près:

HANDLE hFile;
DWORD size, byte;
char *buffer;

hFile = CreateFile("fichier.txt", GENERIC_READ|GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);

size = GetFileSize(hFile, 0);

buffer = (char*)malloc(size); // ici j'utilise normalement VirtualAlloc mais c'est plus simple avec malloc

ReadFile(hFile, buffer, size, &byte, 0);

SetFilePointer(hFile, 0, 0, FILE_BEGIN);

WriteFile(hFile, (LPVOID)"Allo test 123 ", 14, &byte, 0);
WriteFile(hFile, buffer, size, &byte, 0);

free(buffer);
CloseHandle(hFile);

Ce bout de code fonctionne parfaitement.

C++ (@++)
___________________________________________
Les plus grands esprits trouvent toujours une solution

[ Lien ]
dimanche 30 juillet 2006 à 20:54:48 | Re : Insérer text dans un fichier !

ElectricalMan

désolé pour le tp de réponse !
donc merci les gars et SAKingdom, chouet ton idée ça marche



Cette discussion est classée dans : fichier, text, texte, insérer, fic


Répondre à ce message

Sujets en rapport avec ce message

ecriture dans un fichier texte [ par moonalex ] Bonjour à tous,je souhaite écrire chaque ligne sélectionnée dans une ListBox dans une fichier texte. j'ai fait une fonction qui se charge d'écrire dan formatage d'un texte [ par zaagane ] salutje suis etudiant universitaire et jai quelques problemes :comment ouvrir un fichier text pour formater le comment ecrit  des lignes a la insérer dans un fichier [ par catamenia ] bonjour, J'arrive à écrire dans un fichier text en c++ grace a writeFile mais ça écrase le text qu'il y a derriere alors que j'aimerais pouvoir insére Fichier texte [ par spike666 ] Etant tres nul... et ne preférant pas chercher 3h des morceaux de codes pour finir sur un truc ki marchera pas je vais demander directement ce que je Lire dans un fichier [ par tony_73 ] <img style="BORDER-LEFT-COLOR: black; BORDER-BOTTOM-COLOR: black; BORDER-TOP-COLOR: black; BORDER-RIGHT-COLOR: black; border-size: 1px" src="/gdi/um/5 fichiers texte (windows/unix) [ par Lapin0u ] Bonjour tout le monde,J'ai un petit problème qui me semble insoluble et j'ai besoin de vos lumières. Quelqu'un m'envoie un fichier texte avec un progr fichier texte a excels [ par wantofirst ] bonjour a tousj'ai un petit problèmej'ai fai un programme qui met  des données numériques dans un fichier texte;mais lorsque je veux utiliser les donn fichier texte [ par jul41 ] Salut, savez-vous comment on peut écrire dans un fichier texte après la ligne 8 par exemple?Merci d'avance! (BUILDER) Rechercher dans un fichier texte [ par lomat62 ] voila mon Pb.je doit lire un fichier texte qui conporte des donnée sur des objet exemple de ligne: M1 NP Tau 8.2m 6' J50   5h34.5 +22°01 N1952 M2 AG A ofstream et écriture dans un fichier texte [ par bobybx ] Bonjour,J'ai une question peut-être bête mais je suis bloqué :J'ai un fichier texte avec 3 lignesligne 1ligne 2ligne 3Le contenu de ces lignes varient


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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 : 4,150 sec (3)

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