小编Jac*_*uer的帖子

C将const char*转换为char

我搜索好半天才找到了答案,但我只找到一个解决方案C++,似乎并没有为之工作C.我试图转换的论点const char *char在我使用switch的语句.我尝试了各种各样的事情strdup(),但没有成功.

#include <stdio.h>

int main(int argc, const char *argv[]) {

    char argOne = argv[1];
    char argTwo = argv[2];

    switch(argOne) {
        case '1234' :
            printf("1234!\n" );
            break;
        default :
        printf("Invalid\n" );
    }
}
Run Code Online (Sandbox Code Playgroud)

编译时:

警告:指向整数转换的不兼容指针使用类型为'const char*'的表达式初始化'char'[-Wint-conversion]

char argOne = argv[1];
     ^        ~~~~~~~
Run Code Online (Sandbox Code Playgroud)

警告:溢出转换案例值到切换条件类型(825373492到52)[-Wswitch]

case '1234' :
     ^
Run Code Online (Sandbox Code Playgroud)

c char switch-statement

2
推荐指数
1
解决办法
1097
查看次数

标签 统计

c ×1

char ×1

switch-statement ×1