使用Visual Studio 2010调试程序时无法读入文件

时间:2013-03-10 00:54:06

标签: c++ visual-studio-2010 debugging

所以,我正在使用https://stackoverflow.com/a/298713/1472828在我的命令参数中放置一个参数“hands.txt”(我的agrv [1],这是我想要打开的文件)。我试过了hands.txt和“hands.txt”,但都没有。

int FileParsing(vector<Card> & v, char * FileName) {
    ifstream ifs;
    ifs.open(FileName);
    if (!ifs.is_open()){
        cout << "file cannot be opened." << endl;
    } else {

所以我使用调试器来完成我的主程序:

int main(int argc, char * argv[]){
    if (argc !=2 ){
        //ErrorMessage();
    } else {
         ...

调试器告诉我,我的argc是2,这是对的,但是每次调试器到底是怎么回事

cout << "file cannot be opened." << endl;

这意味着论证在阅读时失败了

ifstream ifs;
ifs.open(FileName);

我错过了什么或者我以错误的方式通过了论证?

p.s。文本文件是从cmd完美读取的,所以这不是代码问题。

1 个答案:

答案 0 :(得分:4)

从@WhozCraig那里得到了想法,在cmd中运行程序时,文本文件放在调试目录下。但是如果使用调试器运行它,则必须将文本文件与其他cpp和h文件放在同一目录中。