我跟踪这个地方有一段时间了,但这是我的第一个帖子,所以请宽容。
我已经为一个学校项目编写了这个函数,但是不知道如何命名(我们必须创建自己的函数)。问题是,是否有人知道库中是否有类似的函数,以便我知道如何命名?
void function(char *str, int slen)
{
while(*str) {
if (slen) {
*str = *(str + slen);
} else {
*str = '\0';
}
if (*(str + slen) == '\0') {
slen = 0;
}
str++;
}
}
它的作用:
将字符串向开头滑动
SLEN
个字符,用'\0'
填充结尾。例子:
char *str = strdup("I want to remove 8 characters");
function(str, 8);
将我的字符串转换为
"remove 8 characters.\0\0\0\0\0\0\0\0\0"
最佳答案
您可以使用memcpy
(如果memmove
和from
区域重叠,则使用to
)
然后memset
没有一个函数可以同时执行这两个操作
关于c - 在任何C库中已经有与此类似的功能吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20972447/