昨天我用 C++ 编写了一个简单的程序,它使用通过命令行传递的参数。
E.G. myDrive:\myPath\myProgram.exe firstWord secondWord
该程序运行良好,可以做它必须做的事情,但我有一点好奇:我必须先编写argc --;
才能很好地使用它,否则我会在运行时崩溃[编译器不会说话!]。
特别是argc
当我在运行程序时不给任何词作为参数时给我带来了糟糕的时光......
现在它可以工作了,所以一点也不差,但我想知道为什么会这样![PS 制作argc --;
打印,价值连城0
!]
编辑:这里所有使用的指令argc
int main(int argc, char *argv[]) {
[...]
argc --;
if(argc > 0){
if(firstArg.find_last_of(".txt") != string::npos){
reading.open(argv[1], ios::binary);
[...]
}
}
if ((!(firstArg.find_last_of(".txt") != string::npos)) && argc > 0){
[...]
for(int i = 1; i <= argc; i ++){
[...]
toTranslate = argv[i][j];
[...]
toTranslate = argv[i][j];
}
}
}