需要删除此字符串中的填充字符,即"REMOVEMEHOW"
,并且需要通过斩波并且不匹配案例来删除它,并且我正在尝试删除缓冲区的标题部分。
#include <stdio.h>
#include <string.h>
#include <windows.h>
int main ()
{
char buffer[200]="REMOVEMEHOW**THIS IS THE REST OF THE STRING THAT IS FINE***REMOVEMEHOW";
system("pause");
return 0;
}
答案 0 :(得分:1)
从string.h库中查看strstr()。 (我在这里给出的链接是针对C ++的,但C具有相同的功能。)
答案 1 :(得分:1)
如果您知道要移除的字符数(N_front
,N_back
):
将N_front
字符后面的所有内容移至N_front
并设置终止空字节。
memmove (buffer, buffer + N_front, 200 - N_front);
buffer[strlen(buffer) - N_back] = '\0';
答案 2 :(得分:1)
#include <stdio.h>
#include <string.h>
char* strrmv(char *text, char *removeword){
char *p=text;
int rlen;
rlen = strlen(removeword);
while(NULL!=(p=strstr(p, removeword))){
memmove(p, p+rlen, strlen(p+rlen)+1);
}
return text;
}
int main(){
char buffer[200]="REMOVEMEHOW**THIS IS THE REST OF THE STRING THAT IS FINE***REMOVEMEHOW";
printf("\"%s\"", strrmv(buffer, "REMOVEMEHOW"));
return 0;
}