我有一个很长的字符串,我想把它的末端去掉。我想摆脱字符“<”(包括)之后的所有内容。这是有效的代码:
char *end;
end = strchr(mystring, '<');
mystring[strlen(mystring) - strlen(end)] = '\0';
所以如果 mystring 是
"asdfjk234klsjadflnwer023jokmnasdf</tag>alskjdflk23<tag2>akjsldfjsdf</tag2>blabla"
这段代码会返回
"asdfjk234klsjadflnwer023jokmnasdf"
我想知道这是否可以通过更简单的方式完成?我知道我可以对 mystring 中的每个字符增加一个计数器,直到找到“<”,然后使用该 int 作为索引,但这似乎同样麻烦。所有其他内置字符串库似乎都没有用,但我确定我只是以错误的方式看待它。我已经很多年没有使用 C 了。
感谢任何帮助!
最佳答案
当然。这是惯用的方法:
char *end;
end = strchr(mystring, '<');
if (end)
*end = '\0';
关于c - 将字符串设置为C中的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5891050/