我正在尝试chomp()
在 C 中实现 perl 函数的等效版本,我遇到了一个极端情况,其中作为参数传递的字符串文字将导致分段错误(理所当然)。
例子chomp("some literal string\n");
C99 中是否有定义的方法来检测我的函数是否传递了字符串文字,这样我就可以return
不尝试将其 NUL 出来?
char* chomp(char *s)
{
char *temp = s;
if (s && *s)
{
s += strlen(s) - 1;
if (*s == '\n')
{
*s = '\0';
}
}
return temp;
}