我正在寻找一种删除前导空格的标准方法,我发现了一种使用指针和isspace()的非常简单的方法,但是我们的教授不允许我们使用<ctype.h>库。下面的方法会起作用吗?
char LeadingSpace(char *line) {
while (line[0] == ' ') {
line++;
}
return line;
}我是个C新手,所以不能完全确定指针是如何工作的,但是如果我每次找到一个前导空格就移动指针,那么我只需要检查line[0],对吧?
发布于 2015-12-13 03:03:34
是-检查line[0] == ' '就可以了:
但这一行
char LeadingSpace(char *line) {应该是
char* LeadingSpace(char *line) {当您返回一个字符指针时
发布于 2015-12-13 03:10:51
尝尝这个
char* LeadingSpace(char *line) {
while (line[0] == ' ' || line[0] == '\t' || line[0] == '\n' || line[0] == '\r') {
line++;
}
return line;
}或者使用string.h .h标头
char* LeadingSpace(char *line) {
while (strchr(" \t\r\n", line[0])) {
line++;
}
return line;
}https://stackoverflow.com/questions/34243612
复制相似问题