如何删除c中字符串的最后一部分

时间:2015-03-02 04:54:20

标签: c string

我正在用C做一个程序,目前我遇到了问题。我不知道如何删除字符串的最后部分。例如:

char str[100] = "one => two";

我想删除=> two。你能帮助我吗?提前谢谢。

4 个答案:

答案 0 :(得分:3)

如果要删除特定char标记后的部分,请使用:

char str[100] = "one => two";
char *temp;
temp = strchr(str,'=');   //Get the pointer to char token
*temp = '\0';             //Replace token with null char

答案 1 :(得分:1)

在C中,字符串的结尾标有零字符。因此,您可以通过在正确的位置写入零来删除字符串的结尾:

str[3] = 0;

答案 2 :(得分:1)

"one"之后找到空白处,并将其替换为'\0'

答案 3 :(得分:0)

如果字符串的第一部分总是在“=”之前结束并假设它总是具有“=”,那么你可以这样做:

int i = 0; 
char newstr [100];
while (str[i] != '='){
    i++;
}
strncpy (newstr,  str, i); //copy the i first characters from a char [] to a new char []
newstr [i] = 0;

请记住要包含string.h以使用strncpy