将单个字符视为字符*

时间:2014-06-15 18:38:37

标签: c

我有一个接受char *的方法,但我只需要给它一个char(可以通过options[i]访问,其中options是char *)。有一个简单的技巧吗? 我知道我可以使用我的子串,但这似乎非常低效。我想我可以得到一个临时变量来完成这项工作,但我不喜欢这样。这是唯一的方法还是有一个简单的伎俩?

编辑:我被要求发布一些代码: 我的方法需要char *:

void quit(int errorCode, char * errorMessage, char * additionalInformation);

我使用选项char *:

for(i = 0; i < optionCounter; i++)
{
    switch(options[i])
    {
    case 'c':

        break;
    case 'd':

        break;
    case 'e':

        break;
    case 'k':

        break;
    default:
        quit(1, "No such option.", substring(options, i, 1));
        break;
    }
}

感谢。

2 个答案:

答案 0 :(得分:2)

您可以构造一个局部变量,该变量包含带有单个字符的空终止字符数组和一个空终止符。

default:
    char additionalInformation[] = {options[i], 0};
    quit(1, "No such option.", additionalInformation);
    break;
}

答案 1 :(得分:1)

char c;
char options[] = {c, 0};
foo(options);