gpt4 book ai didi

argv[0] 可以包含空字符串吗?

转载 作者:太空狗 更新时间:2023-10-29 16:58:34 27 4
gpt4 key购买 nike

在任何 C 程序中,命令行参数 argv[0] 指向用于调用程序的名称。有没有什么情况会指向空字符串""

这种情况的示例代码片段将是一个很好的引用。

最佳答案

它是实现定义的。 §5.1.2.2.1 删节:

  • If the value of argc is greater than zero, the array members argv[0] through argv[argc-1] inclusive shall contain pointers to strings, which are given implementation-defined values by the host environment prior to program startup. The intent is to supply to the program information determined prior to program startup from elsewhere in the hosted environment. [...]

  • If the value of argc is greater than zero, the string pointed to by argv[0] represents the program name; argv[0][0] shall be the null character if the program name is not available from the host environment. [...]

因此,如果 argc 大于零,意图 argv[0] 永远不会是空字符串,但它可以发生。 (请注意,当 argc 等于 n 时,argv[0]argv[n - 1] 永远不会null 并始终指向一个字符串。不过,字符串本身可能为空。如果 n 为零,则 argv[0] 为 null。)

当然,在实践中,您只需要确保您的目标平台按需要运行即可。

关于argv[0] 可以包含空字符串吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8665439/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com