编辑:以下代码通过 Microsoft Visual Studio 2013 运行
我有以下脚本:
#include "stdafx.h"
#include <iostream>
#include <boost/filesystem.hpp>
using namespace boost::filesystem;
int main(int argc, char* argv[])
{
if (argc < 2)
{
std::cout << "Usage: tut1 path\n";
return 1;
}
std::cout << argv[1] << std::endl;
std::cout << "File Size is: " << file_size(argv[1]) << std::endl;
return 0;
}
但是当我用 运行它时ctrl+f5
,我收到了这条消息(这是由代码本身的 if 条件预测的:
Usage: tut1 path
参数的数量似乎低于 2。
为什么会发生这种情况?我应该如何避免这个问题?
编辑:
当我删除以下行时:
std::cout << "File Size is: " << file_size(argv[1]) << std::endl;
我在控制台上打印了“Filing.cpp”,这意味着
argv[0]
值是 Filing.cpp,进一步表明argv
从项目调试器的命令参数中正确获取命令。
但是当我再次添加该行时,我看到了消息"Filing.exe not found or not built by the last incremental link;"