C++技巧:使用trim_spaces函数的好处

ZDNet软件频道 时间:2002-12-27 作者:BUILDER.COM |  我要评论()
本文关键词:cpptips
当处理字符串时,开发人员通常需要去掉前面或者后尾的空格。在这种情况下,使用trim_spaces函数就会变得非常的方便。

当处理字符串时,开发人员通常需要去掉前面或者后尾的空格。在这种情况下,使用trim_spaces函数就会变得非常的方便。

这一函数特别有用,尤其在下面的几种情况下:

  • 当剖析XML的时候(XML标签外的信息将被忽略)

  • 当剖析HTML的时候(对于每一行,HTML中前面和末尾的空格都被忽略)

  • 当从一个文件中读出文本的时候(通常情况下,前面和末尾的空格都被忽略)

  • 函数trim_spaces具有几下的优点:

  • 可以运用于任一字符类型(字符型,无符号字符型,wchar_t类型等)

  • 能够运用于指向字符的指针(常量字符*,常量wchar_t等)以及STL(标准模板库)字符串。

  • 可以定义哪些字符被当成空格操作(通过传递两个参数给函数)或使用缺省设置。

  • 缺省的字符设置被认为是' ' (空格), ' ' (标签), ' ' (换行), ' ' (回车), and 'f' (换页)。你也可以把不同的字符当成空格,这取决于你的需要。例如,当你想从一个字符串中去掉回车号,你可以生成下面的函数:

      template< class CharType>
    std::basic_string< CharType>
    trim_enters( const std::basic_string< CharType> & strSource)
    {
    // enters
    static const CharType strDefaults[] = { ' ', ' ', 0};
    static std::basic_string< CharType> strEnters( strDefaults);
    return trim_spaces( strSource, strEnters);
    }

    template< class CharType>
    std::basic_string< CharType>
    trim_enters( const CharType * strSource)
    {
    return trim_enters( std::basic_string< CharType>( strSource));
    }

    百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
    中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
    京公网安备:1101082134