Accueil > Forum > > > > ifstream
ifstream
vendredi 17 juin 2011 à 14:41:15 |
ifstream

johnASP
|
Bonjour!
J'aurais voulu savoir si s'était possible de passer une variable en paramétre d'un
"ifstream()"?
Car je voudrais lire un fichier dont le chemin est enregistré dans une variable, mais le probléme c'est quand j'écrit:
std::ifstream file(chemin);
cela me donne l'erreur:
error C2664: 'std::basic_ifstream<_Elem,_Traits>::basic_ifstream(const char *, std::ios_base::openmode,int)' : impossible de convertir le paramètre 1 de 'System::String ^' en 'const char *'
Merci d'avance!!
|
|
vendredi 17 juin 2011 à 14:52:32 |
Re : ifstream
|
vendredi 17 juin 2011 à 15:23:44 |
Re : ifstream

CptPingu
|
std::ifstream file(chemin.c_str()).
Ifstream prends 3 paramètres,
Deux, non ? Le chemin et le mode (qui est par défaut suffisant et donc facultatif).
A moins qu'en .Net, il en ait ajouté un.
________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
|
|
vendredi 17 juin 2011 à 17:14:16 |
Re : ifstream

BruNews
|
Ils n'ont rien ajouté car ifstream n'a rien à faire dans du .NET qui a des classes pour les fichiers comme pour quasi tout le reste.
ciao...
BruNews, MVP VC++
|
|
vendredi 17 juin 2011 à 17:52:43 |
Re : ifstream
|
vendredi 17 juin 2011 à 21:08:13 |
Re : ifstream

CptPingu
|
D'après la doc, il n'y a que deux paramètres:
http://www.cplusplus.com/reference/iostream/ifstream/ifstream/
Comme tu as éveillé ma curiosité :p, j'ai jeté un oeil directement aux sources de <fstream> (dans /usr/include/c++).
Je ne vois aucune trace d'un constructeur à trois arguments.
Code C/C++ :
// [27.8.1.5] Template class basic_ifstream
/**
* @brief Controlling input for files.
* @ingroup io
*
* This class supports reading from named files, using the inherited
* functions from std::basic_istream. To control the associated
* sequence, an instance of std::basic_filebuf is used, which this page
* refers to as @c sb.
*/
template<typename _CharT, typename _Traits>
class basic_ifstream : public basic_istream<_CharT, _Traits>
{
public:
// Types:
typedef _CharT char_type;
typedef _Traits traits_type;
typedef typename traits_type::int_type int_type;
typedef typename traits_type::pos_type pos_type;
typedef typename traits_type::off_type off_type;
// Non-standard types:
typedef basic_filebuf<char_type, traits_type> __filebuf_type;
typedef basic_istream<char_type, traits_type> __istream_type;
private:
__filebuf_type _M_filebuf;
public:
// Constructors/Destructors:
/**
* @brief Default constructor.
*
* Initializes @c sb using its default constructor, and passes
* @c &sb to the base class initializer. Does not open any files
* (you haven't given it a filename to open).
*/
basic_ifstream() : __istream_type(), _M_filebuf()
{ this->init(&_M_filebuf); }
/**
* @brief Create an input file stream.
* @param s Null terminated string specifying the filename.
* @param mode Open file in specified mode (see std::ios_base).
*
* @c ios_base::in is automatically included in @a mode.
*
* Tip: When using std::string to hold the filename, you must use
* .c_str() before passing it to this constructor.
*/
explicit
basic_ifstream(const char* __s, ios_base::openmode __mode = ios_base::in)
: __istream_type(), _M_filebuf()
{
this->init(&_M_filebuf);
this->open(__s, __mode);
}
On doit avoir une implémentation différente. Je serais dans ce cas curieux de savoir à quoi sert ce 3ème argument et sur quelle plateforme tu es.
Pour ma part, c'est la version 4.5.2 de gcc, sous Linux.
________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
|
|
vendredi 17 juin 2011 à 21:26:30 |
Re : ifstream

CptPingu
|
J'ai ma réponse: http://msdn.microsoft.com/en-us/library/aa243815%28v=vs.60%29.aspx
Sous Windows, la STL n'est pas implémentée de la même manière, et il y a une option en plus pour gérer une option spécifique à cet OS.
________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
|
|
vendredi 17 juin 2011 à 21:33:29 |
Re : ifstream

BruNews
|
Pour johnASP c'est ici:
http://msdn.microsoft.com/fr-fr/library/k3352a4t(VS.80).aspx
ciao...
BruNews, MVP VC++
|
|
mardi 21 juin 2011 à 11:57:17 |
Re : ifstream

chikusa
|
En c++ je sais qu'on peux le faire. sa donne sa :
Code C/C++ :
string chemin = "ton_chemin";
ifstream monFlux(chemin.c_str())
{
}
The power is mine !!
|
|
mardi 21 juin 2011 à 16:41:32 |
Re : ifstream

LA_Tupac
|
En c++ oui chikusa c'est bien ça.
Mais ceux qui disent qu'il y'a deux paramètres ont raison aussi mais il est facultatif pour les ifstream & ofstream. C'est pour les fstream (la classe mère) il permet de spécifier le mode d'accès: ios::in, ois::out, ios::app ... Et bien sur c'est du c++ pas du dotnet 
|
|
Cette discussion est classée dans : variable, basic, chemin, std, ifstream
Répondre à ce message
Sujets en rapport avec ce message
Variable à volonté ! [ par AngeloVivaldi ]
Salut.J'ai encore un problème du même type ...Je voudrai que le tableau de charactère, dans lequel l'opérateur inscrit un chemin de fichier, soit exte
Autre problém de variable externe [ par mateo40 ]
Voila, je déclare dans projet.cpp une variable de type AnsiString chemin. Elle contient le chemin d'un fichier à ouvrir.dans Thread_Chiffrement::Execu
erreur link2001 [ par balbeau ]
J'ai l'erreur souivante qui commence à "m'agacer"......Loading.obj : error LNK2001: symbole externe non résolu "class std::basic_ofstream > fout" (?fo
probleme avec des variable membre public [ par titouf71 ]
Bonjour,J'ai un gros probleme avec des variables membres public.J'ai declare une variable membre en public en CString dans ma classe CLecture.Je voudr
Copyfile mache pas avec chemins en variable [ par sylfau ]
Bjr,mon programme doit recopier un fichier 'date.txt', d'un répertoire vers un autre.Ca fonctionne quand j'entre mes chemins en constante :CopyFile ("
Shared Library [ par omarlahlou ]
Bonjour tout le monde, <p class="MsoN
Chemin de fichier avec fopen en tant que variable (gros débutant) [ par jason_red2 ]
Je m'explique:La fonction fopen admet, en tant qu'argument,des const char*, ce qui implique de définir le Path soit par une constante, un typedef pass
ant script error link g++ [ par fmazoue ]
I need help !!!I have error with linker I try to add but the script bug and do nothing ...but if I try directly in cmd this it's ok : g++ -o Util.dll
'std : : complex<float> une_variable' [ par nannouuD ]
sltquel est la signification de 'std : : complex une_variable'?
Problème de linkage [ par huguette45 ]
Salut,je suis entrain de faire un projet en C++ (utilisant visual C++ 2005 Express) et j'ai quelques problèmes lors du linkage en fin de compilation..
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|