Ouverture fichier avec option de "partage" - C++ - Programmation
Marsh Posté le 18-08-2005 à 11:40:23
tu peux installer une autre STL à la place, il me semble que celle dispo sur le site de SGI fonctionnait très bien, d'ailleurs sinon, je ne me suis jamais penché sur ce genre de problème, donc ... bon courage
Marsh Posté le 18-08-2005 à 15:26:26
C'est une idée effectivement, mais j'avoue avoir un peu peur que ça foute le bins dans les includes ...
J'ai essayé avec _sopen(), mais en fait j'ai le même souci avec cette STL, le constructeur ifstream n'accepte pas le paramètre int du descripteur de fichier initialisé par _sopen ...
Marsh Posté le 18-08-2005 à 16:44:28
pour changer de STL, c'est pas trop compliqué, en fait : il suffit de rajouter le chemin vers la nouvelle STL dans tes répertoires d'includes ... Pense à le mettre tout en haut de la liste pour que ce soit la nouvelle STL qui soit utilisée en priorité.
je suis surpris que tu en viennes à utiliser des fonctions commençant par un underscore, normalement, elles n'ont pas pour but d'être appelée directement, il me semble.
Marsh Posté le 18-08-2005 à 17:29:51
Et si tu ouvres un fstream, que tu n'utilises qu'en lecture ?
Marsh Posté le 18-08-2005 à 18:43:26
theShOcKwAvE : vi, j'y ai pensé après, je vais essayé
pour le _sopen(), j'avoue que je n'en sais rien, c'est documenté dans les MSDN ...
HelloWorld : ce n'est pas identique à un ifstream ?
Je vais regardé si ça lock le fichier, mais je n'y crois pas trop ..
Merci.
Marsh Posté le 18-08-2005 à 23:29:32
fstream = ifstream + ofstream. Il est ouvert en écriture aussi. Pour le lock, ça dépend de l'OS je crois...
Marsh Posté le 19-08-2005 à 15:55:07
J'ai essayé avec fstream et c'est pareil.
J'ai voulu testé avec la STL de SGI mais il n'y a pas l'air d'y avoir les stream, ai-je loupé un truc ?
Marsh Posté le 19-08-2005 à 16:15:32
Les stream ne font pas partie de la STL, mais de la SL.
Marsh Posté le 18-08-2005 à 11:11:00
Bonjour,
Je cherche à ouvrir un fichier en lecture mais en le verrouillant afin qu'il ne soit pas accessible en écriture par un autre process le temps du traitement :
et là j'ai une erreur :
Ctl.cpp(753) : error C2039: 'sh_none' : is not a member of 'basic_filebuf<char,struct std::char_traits<char> >'
Ctl.cpp(753) : error C2065: 'sh_none' : undeclared identifier
J'utilise VC6 SP5, et je n'ai pas le choix
J'ai comme l'impression que la STL inclue dans Visual n'est pas top, en regardant les includes je ne trouve effectivement pas trace d'un quelconque paramètre sh_none ou autre sh_xxx d'ailleurs.
Pourtant la doc MSDN en fait bien mention, et chose bizarre c'est qu'à l'écriture, la complétion automatique de visual m'a bien proposé ce paramètre ...
Une idée ? ou bien dois-je utiliser _sopen à la place ?
Merci.