我试图理解以下代码的作用
void chomp (char* string, char delim) {
size_t len = strlen (string);
if (len == 0) return;
char* nlpos = string + len - 1;
if (*nlpos == delim) *nlpos = '\0';
}
什么是分隔符?第四行基本上保存了字符串中的最后一个字符吗?
最佳答案
如果字符串的最后一个字符与 delim 匹配,则字符串中的该字符位置 (*nlpos) 会被分配一个零字节,这会有效地在距离字符串开头更近的位置处终止 C 字符串。
我认为术语 chomp 在 Perl 中变得流行,它经常在逐行处理时修剪掉终止换行符。
关于c - 这个 chomp 函数中的分隔符是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39780640/