众所周知,向main输入文件的地址,是可以打开项目外的文件的(如果只用ifstream(“文件名.txt”),就无法打开项目外的文件)。但是,笔者目前也碰到了一个问题,即向main内输入参数,却仍然无法打开文件,不知道为什么。
经过不断地尝试,笔者想到了几个方法。(感觉纯属vs2017自己的bug问题)
1.
#include<iostream> #include<string> #include<vector> #include<fstream> using namespace std; int main(int argc, char *argv[]) { /*for (int i = 0; i < argc; i++)cout << argv[i]; */ ifstream input(argv[1]); vector<string> vec; string tmp; while (getline(input, tmp)) { vec.push_back(tmp); } for (auto v : vec) cout << v << endl; system("pause"); return 0; }用main函数花括号内/* */部分进行调试,使命令框能输出字符后,然后再复制黏贴自己想要输入的地址,就可以运行了
2.对于红圆圈画的部分,一个是命令参数,可能部分需要手写,不能crtl+v;另一个是每次改完,鼠标点至命令参数,然后再点应用,一定要记得保存,不然仍然无效!