This question already has answers here:
How do I trim leading/trailing whitespace in a standard way?
(39个答案)
3年前关闭。
剥离C中的前导空格和尾随空格的最佳方法是什么?
(39个答案)
3年前关闭。
剥离C中的前导空格和尾随空格的最佳方法是什么?
最佳答案
您可以完全就地完成此操作。
void stripLeadingAndTrailingSpaces(char* string){
assert(string);
/* First remove leading spaces */
const char* firstNonSpace = string;
while(*firstNonSpace != '\0' && isspace(*firstNonSpace))
{
++firstNonSpace;
}
size_t len = strlen(firstNonSpace)+1;
memmove(string, firstNonSpace, len);
/* Now remove trailing spaces */
char* endOfString = string + len;
while(string < endOfString && isspace(*endOfString))
{
--endOfString ;
}
*endOfString = '\0';
}
关于c - 去除C中前导和尾随空格的最佳算法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/352055/
10-11 21:45