2013-07-19 4 views
0

Je suis nouveau en C++. J'essayais de lire un fichier en utilisant fstreampas un tel fichier ou répertoire, tué dans fstream C++

est le code ici,

Je mis le fichier dans le répertoire a.out mais ne peut pas le lire, où est mon erreur?

#include<iostream> 
#include<fstream> 

int main() 
{ 
    std::ifstream myfile("my.txt"); 
    int a, b; 
    while(myfile>>a>>b) 
    std::cout<<a<<b; 

    return 0; 
} 
+0

est-il prévu que 'my' n'est pas déclarée? est-ce que vous SCCE n'est pas le même que le vrai code? – Petesh

+0

désolé, est une faute de frappe – user1701840

+0

que voulez-vous dire que vous ne pouvez pas le lire? que ce passe-t-il? Que contient "my.txt"? – tay10r

Répondre

1

Assurez-vous que le fichier se trouve dans le répertoire courant du .exe. C'est généralement le même répertoire que celui où se trouve le .exe sur votre disque dur.

Si vous ne connaissez pas le répertoire actuel, nous vous recommandons d'utiliser le chemin d'accès complet.

+2

ce n'est pas une réponse – tay10r

+2

Le fichier devrait être placé dans le répertoire courant (c'est-à-dire ce que' pwd' indique), sans rapport avec '.exe' ou' .out'. – neuront

+0

@TaylorFlores Vous avez raison, c'est une question. >.> – Caesar

2

Essayez:

#include <iostream> 
#include <fstream> 
#include <unistd.h> 

int main() 
{ 
    char* name = get_current_dir_name(); 
    std::cout << "Current Working Dir: " << name << "\n"; 
    free(name); 

    std::ifstream myfile("my.txt"); 
    if (!myfile)) 
    { 
     std::cout << "Failed to open file\n"; 
     exit(1); 
    } 
    int a, b; 
    while(myfile>>a>>b) 
    { 
     std::cout<<a<<b; 
    } 
    return 0; 
} 
Questions connexes