Fichiers C : Créer des fichiers doc et txt

Fermé
Maknash Messages postés 643 Date d'inscription lundi 10 septembre 2007 Statut Membre Dernière intervention 15 juillet 2013 - 27 mars 2009 à 00:11
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 30 mars 2009 à 08:34
Bonjour,

J'aimerais bien créer un programme où on entre des données pour une facture et dès qu'on a fini, le programme envoie tout dans un fichier WORD (déjà existant et où il y a 1 tableau).
J'aimerais aussi savoir comment on peut dire programme de placer tel et élément à tel endroit de la page WORD.

Aussi, j'aimerais savoir comment on fait pour afficher des choses dans un fichier txt car quand je créé un fichier txt par un fichier C, les caractères sont illisibles. Comment est-ce que je peux faire pour afficher tout bien?

Merci d'avance
A voir également:

8 réponses

Azer_Ty Messages postés 104 Date d'inscription vendredi 31 octobre 2008 Statut Membre Dernière intervention 4 juillet 2011 60
27 mars 2009 à 00:33
Bonsoir,

Je ne pense pas qu'il soit possible d'écrire dans un document WORD depuis un programme C.

Pour écrire correctement dans un fichier TXT il faut utiliser tout simplement des fonctions tels que fputs ou fprintf.
Pour plus de précision : https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c/16421-lire-et-ecrire-dans-des-fichiers#ss_part_2

Bonne soirée.
1
Maknash Messages postés 643 Date d'inscription lundi 10 septembre 2007 Statut Membre Dernière intervention 15 juillet 2013 184
27 mars 2009 à 01:20
Merci, en fait j'ai un livre sur le C et dedans il était mis fwrite.
Pour ce qui est du fichier WORD, je suis de ton avis, je ne pense pas que se soit possible mais un amis à moi qui a appris le C dès l'âge de 12/13 ans m'a dit qu'il y avait sûrement moyen avec des librairies spéciales.
C'est pour ça que je demande alors si quelqu'un sait et est sûr qu'il y a moyen, qu'il le dise^^

Merci encore
0
Maknash Messages postés 643 Date d'inscription lundi 10 septembre 2007 Statut Membre Dernière intervention 15 juillet 2013 184
27 mars 2009 à 01:43
Et est-ce qu'un gotoxy fonctionne dans les txt? (librairie myconio.h)
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
27 mars 2009 à 08:38
Salut.
écrire dans un document word, c'est peut être possible avec les bibliothèques de windows (cherche sur le site MSDN).
Pour l'écriture, il faut voir qu'en fait il y a deux façon d'ouvrir un fichier : en ascii ou en binaire. En général, on réserve fwrite au binaire. En fait, un fichier texte est un fichier binaire où l'on lit les données par octet, et où les octets sont considérer comme étant du texte.
Je pense que si tu fourni à fwrite un pointeur sur chaine de caractère, il doit t'écrire l'adresse du pointeur. Par contre, si tu le donne à printf, il va aller dans cette chaîne et tout écrire jusqu'à rencontré \0.
Pour le gotoxy, je sais pas, mais ça me parait pas trop faisable. Mais à voir.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Maknash Messages postés 643 Date d'inscription lundi 10 septembre 2007 Statut Membre Dernière intervention 15 juillet 2013 184
27 mars 2009 à 10:54
Ah ok merci je comprends mieux.
Pour le gotoxy je disais ça ainsi, il y a peut-être une autre façon de le faire?
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
27 mars 2009 à 11:04
Il faut bien voir qu'un fichier c'est en fait linéaire, le y n'a de sens que grace à certain caractères spéciaux de retour à la ligne (\n).
Donc, tu peux lire ton fichier, à chaque caractère tu augmente x, et lorsque tu tomber sur \n, tu met x à 0 et tu incrémente 1.
Mais il n'y a pas de façon directe pour faire ça, il faut lire caractère par caractère.
0
Maknash Messages postés 643 Date d'inscription lundi 10 septembre 2007 Statut Membre Dernière intervention 15 juillet 2013 184
27 mars 2009 à 14:06
Ok merci beaucoup je regarderai ça tout à l'heure^^
0
AmineKalaa Messages postés 87 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 10 janvier 2011 7
27 mars 2009 à 16:25
Bonjour.
Pour quoi pas utiliser feseek ?? ca marche dans les fichiers txt
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298 > AmineKalaa Messages postés 87 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 10 janvier 2011
27 mars 2009 à 16:31
ça fonctionne en ligne (en x) mais pas en colonne.
fseek est équivalent à un gotox, si tu vois ce que je veux dire.
0
AmineKalaa Messages postés 87 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 10 janvier 2011 7 > Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023
27 mars 2009 à 16:41
Pas du tous !!
en effet il y a 3 parametres de fseek:
fseek(FILE *fp, long n, SEEK_SET)
SEEK_CUR)
SEEK_END)
*) *fp :pointeur du fichier
**) n: de type long, le nombre de caractères à sauter (ca peut etre negatif)
pou sauter une ligne:
fseek(fp,(long)strlen(s)+2,SEEK_SET): passer a la deusieme ligne sachant qu'on est au debut du fichier.
***) SEEK_SET: c a d à partir du debut du fichier.(n>0)
SEEK_CUR: c a d à partir de la position courante.
SEEK_END: c a d à partir de la fin(evidamment le n sera négatif dans ce ca)
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298 > AmineKalaa Messages postés 87 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 10 janvier 2011
30 mars 2009 à 08:34
C'est jolie tout ça, mais c'est quoi s ?
fseek ne permet pas du tout d'aller à une ligne donnée.
La seule façon de faire un gotoxy() dans un fichier c'est de faire comme j'ai dit, d'avoir deux variables et de les incrémenter au fur et à mesure.
0
Maknash Messages postés 643 Date d'inscription lundi 10 septembre 2007 Statut Membre Dernière intervention 15 juillet 2013 184
27 mars 2009 à 17:40
Oula merci beaucoup de vos réponses, je vais tester ça mais je crois que mon niveau de compétence en C est bien trop faible mais j'essaierai normalement ce soir à tête reposée.
Merci encore
0