我正在尝试编写一个该函数将const char *
作为参数,我无法弄清楚如何以有用的方式将这种数据传递给函数。如果我有功能:
void tokenize(const char * c) { }
我想用硬编码的值来调用这个函数,比如说反斜杠,最好的方法是什么?如何将硬编码值转换为const char *
?
答案 0 :(得分:5)
使用字符串文字代替const char *
参数是完全合法的:
tokenize("\\");
更具说明性的示例是存储指向该字符串的指针,然后传递该指针:
const char *token = "\\";
tokenize(token);
但是,字符串文字与char *
不兼容,即使编译器可能允许它。这与字符串文字的存储方式有关 - 它们通常位于内存的只读区域,尝试写入它们会导致未定义的行为,很可能是某种保护错误。
答案 1 :(得分:0)
您可以使用字符串文字,如"\\"
,并将其作为参数传递给函数。