鉴于主程序的标准定义:
int main(int argc, char *argv[]) {
...
}
Run Code Online (Sandbox Code Playgroud)
argcPOSIX系统在哪些情况下可以为零?
从命令行向main()传递参数我所理解的是argc的最小值为1,而argv [0]将始终具有程序名称及其路径.
如果在命令行提供了参数,那么argc的值将大于1,而argv [argc-1]的argv将具有这些参数.
argv [0]将是包含程序名称的字符串,如果不可用,则为空字符串.
现在,argv [0]如何以及何时可以使用空字符串?我的意思是程序名称及其路径将始终可用,所以什么时候它可以为空?
作家说"如果不可用"但是何时以及如何可能无法获得该计划名称?
我有这个奇怪的代码问题.在视觉工作室中,我所有的'cout','cin'和我的'系统'都有红色曲线,并被标记为含糊不清的代码.该项目仍然编译好,并没有给我任何错误或警告,但它很烦人,将阻止我知道我何时犯了一个实际的错误.这一切都是在我添加'if(argc> 0)'部分时开始的,如果我删除它然后删除并重新输入'using namespace std;' 曲线消失了.可悲的是,当我重新输入上述'if'语句时,问题又回来了.我真的很感激一些帮助.谢谢大家!
#include <string>
#include <iostream>
#include "chkString.h"
using namespace std;
int main(int argc, char * argv){
int cipher;
int encryption;
string keyPhrase;
string iFile;
string oFile;
chkString chk;
cout << "Hello User!" << endl;
if(argc > 0){
cout << "Hello";
}
if(argc = 0){
cout << "Enter '1' for Vigenere, or '2' for Playfair, or '0' to quit: ";
cin >> cipher;
while(cipher != 1 && cipher != 2 && cipher != 0){
cout << "I'm …Run Code Online (Sandbox Code Playgroud)