如何从头到尾复制找到的事件?
strncpy(name,long_name,strrchr(long_name,'.')+1);
最佳答案
strrchr()
返回指向上次发生的事件的指针。从中减去指向字符串开头的指针,就得到了长度。
strncpy(name,long_name, strrchr(long_name,'.') - long_name);
但是,这不会自动终止
name
。请确保已首先将其初始化为all\0
。还要注意,如果字符不存在,strrchr()
返回NULL
。您可能希望将其移到strncpy()
之外,并首先检查是否有有效的指针。char *last = strrchr(long_name,'.');
if (last != NULL)
strncpy(name,long_name, last - long_name);
编辑:我假设你在文章的
strrchr()
中输入了变量名-应该是long_name