删除没有isspace的前导/尾随空格()

时间:2015-12-12 18:50:08

标签: c pointers space isspace

我一直在寻找一种去除前导空格的标准方法,我找到了一种使用指针和isspace()的非常简单的方法,但是我们的教授不允许我们使用<ctype.h>库。以下是否有效?

char LeadingSpace(char *line) {
    while (line[0] == ' ') {
        line++;
    }
    return line;
}

我是C的新手所以不完全确定指针是如何工作的,但如果我每次找到一个前导空格时移动指针,那么我只需要检查line[0],对吗?

2 个答案:

答案 0 :(得分:1)

是 - 检查line[0] == ' '没关系:

但这一行

char LeadingSpace(char *line) {

应该是

char* LeadingSpace(char *line) {

当你返回一个字符指针

答案 1 :(得分:0)

试试这个

clearInterval(timer);

或使用string.h header

char* LeadingSpace(char *line) {
    while (line[0] == ' ' || line[0] == '\t' || line[0] == '\n' || line[0] == '\r') {
        line++;
    }
    return line;
}