FILE * - C++ - Programmation
Marsh Posté le 05-06-2003 à 15:36:30
Non tu dois le faire avec fopen. il y a un moyen de créer un nouveau fichier avec les options de fopen
Marsh Posté le 05-06-2003 à 15:37:47
mode Description
'r' Open for reading only; place the file pointer at the beginning of the file.
'r+' Open for reading and writing; place the file pointer at the beginning of the file.
'w' Open for writing only; place the file pointer at the beginning of the file and truncate the file to zero length. If the file does not exist, attempt to create it.
'w+' Open for reading and writing; place the file pointer at the beginning of the file and truncate the file to zero length. If the file does not exist, attempt to create it.
'a' Open for writing only; place the file pointer at the end of the file. If the file does not exist, attempt to create it.
'a+' Open for reading and writing; place the file pointer at the end of the file. If the file does not exist, attempt to create it.
Marsh Posté le 05-06-2003 à 15:41:04
Moi comme j'ai compris tu veux créer un fichier non ? sinon je vois pas l'intérêt du FILE *
Marsh Posté le 05-06-2003 à 15:42:51
JagStang a écrit : Moi comme j'ai compris tu veux créer un fichier non ? sinon je vois pas l'intérêt du FILE * |
Ben ... Ouais, justement ... Je me dis qu'il doit y avoir une solution plus adéquate si le problème est effectivement celui que j'ai soulevé plus haut.
Marsh Posté le 05-06-2003 à 15:44:20
theShOcKwAvE a écrit : Si j'ai bien compris, tu cherches un moyen de faire qu'une zone mémoire se comporte comme un fichier ... |
En fait je part du principe que je suis sur une machine ou j'ai aucun droit d'écriture.
J'ai une fonction (d'une librarie) qui a ce prototype :
PEM_write_RSAPublicKey(FILE *fp, ....)
En gros elle écrit dans le fichier fp une donnée.
et j'ai besoin de récuperer cette donnée ....
voila j'espere pas etre trop flou
Marsh Posté le 05-06-2003 à 15:49:11
mmmm... Alors là je vois pas comment tu peux faire... Il va planter quand tu vas faire le fopen... Mais t'as surement des droits d'écriture dans les temp ou autre... C'est impensable d'avoir AUCUN droit partout sur la machine...
Marsh Posté le 05-06-2003 à 15:51:07
JagStang a écrit : mmmm... Alors là je vois pas comment tu peux faire... Il va planter quand tu vas faire le fopen... Mais t'as surement des droits d'écriture dans les temp ou autre... C'est impensable d'avoir AUCUN droit partout sur la machine... |
Je vais fouiller la librairie en question afin de voir si je peux pas recuperer les info que je veux autrement
sinon merci pour vos réponse
Marsh Posté le 05-06-2003 à 15:51:54
Effectivement, c'est un problème assez gênant ...
Dans la société où je faisais mon précédent stage, j'ai entendu parler de création de fichiers virtuels ... Uniquement en RAM ... C'était pas hyper pratique, à ce qu'il paraît, mais ca pourrait sans doute t'aider ... Malheureusement, je ne peux pas t'en dire plus ... (C'était sous Windows, c'est la seule chose que je sais à ce sujet)
Marsh Posté le 05-06-2003 à 17:12:24
theShOcKwAvE a écrit : Effectivement, c'est un problème assez gênant ... |
On appelle ca des FileMapping.
man VirtualAlloc(), CreateFile(), CreateFileMapping(), et MapViewOfFile()
Quand je le dis ke windows est mieux foutu...
Marsh Posté le 05-06-2003 à 15:34:13
salut
Je voulais savoir s'il existe une fonction permettant de créer un FILE * qui désigne un buffer en mémoire.
Je m'explique
Le seul moyen que je connaisse pour obtenir un FILE * est :
FILE *fd = fopen(nom du fichier)
Existe-t-il une fonction permettant de faire ca :
buf = malloc(150000);
FILE *fd = fcreate(buf)
merci