我正在尝试让程序检查用户在运行程序时是否正在传递程序参数。 FX:
Meteor.methods({
foo: function() {
const future = new Future();
someAsyncCall(foo, function bar(error, result) {
if (error) future.throw(error);
future.return(result);
});
// Execution is paused until callback arrives
const ret = future.wait(); // Wait on future not Future
return ret;
}
});
我想出了以下内容:
./dev --print
这是正确/最明智的方式吗?
目前,每次进入else语句时,我都会遇到seg-faults问题。不确定我在这里的实现与它有什么关系。
答案 0 :(得分:1)
是的,这是一种方式,虽然我认为大多数C程序员都不会为单独的变量烦恼,只是这样做:
if(strcmp(argv[1], "--print") == 0)
当然,您应首先通过检查argv[1]
验证是 argc
中的参数。否则,您将NULL
传递给strcmp()
,这是一个坏主意。
if(argc > 1 && strcmp(argv[1], "--print") == 0)
{
}