2014-06-14 2 views
-1

J'essaye d'ouvrir ce dossier, mais pour une raison quelconque, il ne le fera tout simplement pas. Je ne comprends pas ce que je fais mal. De tout ce que j'ai lu en ligne, il semble que tout va bien.Que dois-je faire de mal Ouvrir ce fichier?

#include <string> 
#include <iostream> 
#include <vector> 
#include <fstream> 
#include <sstream> 


int main() 
{ 
    std::string accnts_file = "accnt_info.txt"; 
    int accnt_counter = 0; 
    std::string strLine; 
    std::string strData; 
    std::vector< std::vector<std::string> > accnts; 
    std::ifstream ifs(accnts_file.c_str(), std::ifstream::in); 

    if(!ifs) 
    { 
     std::cerr << "Error opening file" 
        << std::endl; 
    } 

    while(ifs.good()) 
    { 
     ... 
    } 
} 

Toute aide serait vraiment appréciée

Répondre

1

Assurez-vous que le fichier que vous voulez charger existe dans le même répertoire que l'exécutable.

Les chemins de fichier dans les exécutables sont interprétés comme relatifs à l'exécutable, sinon absolus.
Si les chemins de fichier de l'exécutable étaient relatifs aux fichiers source à partir desquels l'exe avait été généré, ce serait un gros gâchis quand il s'agit de grands programmes avec des milliers de fichiers source.
De plus, les fichiers source n'existent que sur le réseau des développeurs, donc n'importe quel utilisateur trouverait son programme à la recherche de chemins ridicules qui n'existent pas sur sa machine.

Les chemins de fichiers sont relatifs au répertoire de l'exécutable, sinon absolus. Les chemins d'accès aux fichiers sont interprétés entièrement à chaque exécution, car la mémoire change constamment.

+0

Merci. C'est ce que j'avais essayé de faire, mais ça ne me laisserait pas pour quelques jours. – anacy

Questions connexes