所以,我正在使用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完美读取的,所以这不是代码问题。
答案 0 :(得分:4)
从@WhozCraig那里得到了想法,在cmd中运行程序时,文本文件放在调试目录下。但是如果使用调试器运行它,则必须将文本文件与其他cpp和h文件放在同一目录中。