相关疑难解决方法(0)

在POSIX系统上,argc可以为零吗?

鉴于主程序的标准定义:

int main(int argc, char *argv[]) {
   ...
}
Run Code Online (Sandbox Code Playgroud)

argcPOSIX系统在哪些情况下可以为零?

c posix program-entry-point language-lawyer

73
推荐指数
4
解决办法
4269
查看次数

什么时候argv [0]有空?

从命令行向main()传递参数我所理解的是argc的最小值为1,而argv [0]将始终具有程序名称及其路径.

如果在命令行提供了参数,那么argc的值将大于1,而argv [argc-1]的argv将具有这些参数.

现在这个链接的一个段落说明了一点

argv [0]将是包含程序名称的字符串,如果不可用,则为空字符串.

现在,argv [0]如何以及何时可以使用空字符串?我的意思是程序名称及其路径将始终可用,所以什么时候它可以为空?

作家说"如果不可用"但是何时以及如何可能无法获得该计划名称?

c argv

32
推荐指数
3
解决办法
1万
查看次数

Visual Studio在添加if语句后显示C++歧义错误

我有这个奇怪的代码问题.在视觉工作室中,我所有的'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)

c++ ambiguous visual-studio

5
推荐指数
1
解决办法
6694
查看次数