从字符串C Challenge中删除ME

时间:2012-07-20 21:45:55

标签: c string

需要删除此字符串中的填充字符,即"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; 
}

3 个答案:

答案 0 :(得分:1)

从string.h库中查看strstr()。 (我在这里给出的链接是针对C ++的,但C具有相同的功能。)

答案 1 :(得分:1)

如果您知道要移除的字符数(N_frontN_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; 
}