gpt4 book ai didi

将命令行参数转换为 char

转载 作者:太空狗 更新时间:2023-10-29 15:44:57 25 4
gpt4 key购买 nike

我是第一次使用命令行参数,我需要将其中一个字符串参数转换为字符以进行测试。我尝试将其作为字符串进行测试,但没有用。在程序中,用户需要输入 e 或 E 或 d 或 D(代码顶部的示例输入)。我也没有对 C 中的转换做太多工作,所以任何帮助都会很棒。谢谢。

输入是:./filename 4 1 7 e

int main(int argc, char *argv[])
{
char letter = argv[4];
if(argc != 5)
{
printf("Error - wrong number of inputs args\n");
return -1;
}

if(letter != 'd' || letter != 'D' || letter != 'e' || letter != 'E')
{
printf("Error - E or D not entered\n");
return -1;
}
}

最佳答案

argvchar ** 类型,因此 char c = argv[4] 分配一个指向字符值的指针;这实际上应该给出警告/错误。

如果要给第 4 个参数的第一个字母赋值,写 char c = *(argv[4])char c = argv[4][0]

在访问 argv[4] 之前,不要忘记检查您是否提供了足够的参数,即

if (argc > 4) {
char c = *(argv[4]);
...

请进一步注意 if(letter != 'd' || letter != 'D' || letter != 'e' || letter != 'E') 很少有意义,因为对于任何 letter 条件 letter != 'd' || letter != 'D' 始终为真,因为 letter 不能同时是 dD。你可能是说 &&...

关于将命令行参数转换为 char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49660296/

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