因此,我使用https://stackoverflow.com/a/298713/1472828在命令参数中放置一个参数"hands.txt“(我的agrv1,这是我想打开的文件)。我试过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中读取得很好,所以这不是代码问题。
发布于 2013-03-10 16:44:07
在运行cmd中的程序时,文本文件会放在调试目录下。但是,如果使用调试器运行它,则必须将文本文件与其他cpp和h文件放在同一个目录中。
https://stackoverflow.com/questions/15317710
复制相似问题