您当前的位置:首页 > 计算机 > 编程开发 > C语言

C语言中删去字符串尾部的空格的方法

时间:12-30来源:作者:点击数:

C语言没有提供可删去字符串尾部空格的标准库函数,但是,编写这样的一个函数是很方便的。请看下例:

#include <stdio.h>
# include <string.h>

char * rtrim(char * );
void main(void)
{
    char * trail_str = "This string has trailing spaces in it";
   /* Show the status of the string before calling the rtrim() function. */
    printf("Before calling rtrim(), trail_str is '%s'\fi" , trail_str);
    printf ("and has a length of %d. \n" , strlen (trail_str));
   /* Call the rtrimO function to remove the trailing blanks. */
    rtrim(trail_str) ;
   /* Show the status of the string after calling the rtrim() function. */
    printf("After calling rttim(), trail_ str is '%s'\n", trail_str );
    printf ("and has a length of %d. \n" , strlen(trail_str));
}
/* The rtrim() function removes trailing spaces from a string. */
char * rtrim(char * str)
{
    int n = strlen(str)-1; /* Start at the character BEFORE the null character (\0). */
    while (n>0) /* Make sure we don't go out of hounds. . . */
    {
        if ( * (str + n) !=' ') /* If we find a nonspace character: */
        {
            * (str+n+1) = '\0' ; /* Put the null character at one character past our current position. */
            break ; /* Break out of the loop. */
        }
        else /* Otherwise , keep moving backward in the string. */
            n--;
    }
    return str;    /*Return a pointer to the string*/
}

在上例中,rtrim()是用户编写的一个函数,它可以删去字符串尾部的空格。函数rtrim()从字符串中位于null字符前的那个字符开始往回检查每个字符,当遇到第一个不是空格的字符时,就将该字符后面的字符替换为null字符。因为在C语言中null字符是字符串的结束标志,所以函数rtrim()的作用实际上就是删去字符串尾部的所有空格。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门