我正在用C做一个程序,目前我遇到了问题。我不知道如何删除字符串的最后部分。例如:
char str[100] = "one => two";
我想删除=> two
。你能帮助我吗?提前谢谢。
答案 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