我试图编写一个以aconst char *
作为参数的函数,但我不知道如何以一种有用的方式将此类数据传递给函数。如果我有功能:
void tokenize(const char * c) { }
我想用一个硬编码的值(例如,反斜杠)来调用此函数,什么是最好的方法?如何将硬编码的值转换为const char *
?
字符串文字完全合法,可以代替const char *
参数使用:
tokenize("\\");
一个更具说明性的示例将是存储指向该字符串的指针,然后传递该指针:
const char *token = "\\";
tokenize(token);
但是,char *
即使编译器允许,字符串文字也不兼容。这与字符串文字的存储方式有关-它们通常位于内存的只读区域中,尝试写入它们将导致未定义的行为,很可能是某种保护错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句