ifstream::ouvrez pas de travail dans Visual Studio en mode debug

J'ai été partout dans le ifstream questions ici et je suis toujours avoir des problèmes de lecture d'un simple fichier texte. Je travaille avec Visual Studio 2008.

Voici mon code:

//CPPFileIO.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <fstream>
#include <conio.h>
#include <iostream>
#include <string>

using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{

    ifstream infile;
    infile.open("input.txt", ifstream::in);

    if (infile.is_open())
    {
        while (infile.good())
            cout << (char) infile.get();
    }
    else
    {
        cout << "Unable to open file.";
    }
    infile.close();
    _getch();
    return 0;
}

J'ai confirmé que le input.txt fichier dans le bon répertoire de "travail" en vérifiant la valeur de argv[0]. La méthode Ouverte juste ne fonctionnera pas.

Je suis aussi de la difficulté de débogage - ne dois-je pas être en mesure de définir une veille sur infile.good() ou infile.is_open()? Je reçois

Error: member function not present.

EDIT: mise à Jour de la liste de code avec le code complet de .Fichier CPP.

Mise à JOUR: Le fichier n'était PAS dans le Répertoire de Travail Courant. C'est le répertoire où le fichier de projet est situé. Déménagé là-bas et elle fonctionne lorsque le débogage VS.NET.

Son le répertoire de travail, c'est votre problème. Whem vous l'exécutez à partir de la ligne de commande le répertoire de travail est évident. Lorsque vous exécutez dans le débogueur, vous devez définir explicitement le répertoire de travail sinon il n'est pas si évident (vérifier les options du débogueur).
Merci pour l'affichage de la mise à jour de la section. Il avait été une minute depuis que j'avais besoin de réfléchir à l'endroit où le répertoire de travail est en mode de débogage. M'a sauvé quelques minutes de casse-tête.

OriginalL'auteur Dave Swersky | 2009-04-28