⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 str.h

📁 dget是一个基于Linux平台的多线程下载工具, 采用C++开发。主要支持FTP, HTTP, MMS, RTSP协议下载, 目前为止主要实现了FTP, HTTP, MMS,RTSP协议的多线程下载
💻 H
字号:
/**************************************************************************** * *  Copyright (C) 2000-2001 RealNetworks, Inc. All rights reserved. * *  This program is free software.  It may be distributed under the terms *  in the file LICENSE, found in the top level of the source distribution. * */#ifndef _STR_H#define _STR_H#include "types.h"#include "tlist.h"class CBuffer{public:    CBuffer( void );    CBuffer( const CBuffer& other );    CBuffer( size_t len );    CBuffer( CPBYTE pbuf, size_t len );    ~CBuffer( void );    CBuffer& operator=( const CBuffer& other );    BYTE  operator[]( size_t n ) const;    BYTE& operator[]( size_t n );    void   Clear( void );    void   Set( CPBYTE pbuf, size_t len );    size_t GetSize( void ) const;    void   SetSize( size_t len );    PBYTE  GetBuffer( void );    CPBYTE GetBuffer( void ) const;    void   SetBuffer( CPBYTE pbuf );protected:    size_t m_nAlloc;    size_t m_nLen;    PBYTE  m_buf;};class CString{public:    CString( void );    CString( const CString& other );    CString( CPCHAR sz );    CString( CPCHAR buf, size_t len );    CString( char c, UINT nrep = 1 );    ~CString( void );    CString& operator=( const CString& other );    CString& operator=( CPCHAR sz );    void  Set( CPCHAR buf, size_t len );    UINT    GetLength( void ) const;    bool    IsEmpty( void ) const;    int     Compare( const CString& other ) const;    int     CompareNoCase( const CString& other ) const;    char    GetAt( UINT pos ) const;    char&   GetAt( UINT pos );    void    SetAt( UINT pos, char c );    void    Append( CPCHAR sz );    void    ToLower( void );    void    ToUpper( void );    void    DeQuote( void );    CPCHAR Find( char c, UINT pos = 0 ) const;    inline operator CPCHAR( void )      const { assert(m_sz); return m_sz; }    inline char  operator[]( int pos )  const { return GetAt( pos ); }protected:    PCHAR   m_sz;};typedef TDoubleList<CString> CStringList;inline bool operator==( const CString& lhs, const CString& rhs ) { return (lhs.Compare( rhs ) == 0); }inline bool operator==( const CString& lhs, CPCHAR rhs )         { return (lhs.Compare( rhs ) == 0); }inline bool operator==( CPCHAR lhs, const CString& rhs )         { return (rhs.Compare( lhs ) == 0); }inline bool operator!=( const CString& lhs, const CString& rhs ) { return (lhs.Compare( rhs ) != 0); }inline bool operator!=( const CString& lhs, CPCHAR rhs )         { return (lhs.Compare( rhs ) != 0); }inline bool operator!=( CPCHAR lhs, const CString& rhs )         { return (rhs.Compare( lhs ) != 0); }inline bool operator<=( const CString& lhs, const CString& rhs ) { return (lhs.Compare( rhs ) <= 0); }inline bool operator<=( const CString& lhs, CPCHAR rhs )         { return (lhs.Compare( rhs ) <= 0); }inline bool operator<=( CPCHAR lhs, const CString& rhs )         { return (rhs.Compare( lhs ) > 0); }inline bool operator>=( const CString& lhs, const CString& rhs ) { return (lhs.Compare( rhs ) >= 0); }inline bool operator>=( const CString& lhs, CPCHAR rhs )         { return (lhs.Compare( rhs ) >= 0); }inline bool operator>=( CPCHAR lhs, const CString& rhs )         { return (rhs.Compare( lhs ) < 0); }inline bool operator<( const CString& lhs, const CString& rhs ) { return (lhs.Compare( rhs ) < 0); }inline bool operator<( const CString& lhs, CPCHAR rhs )         { return (lhs.Compare( rhs ) < 0); }inline bool operator<( CPCHAR lhs, const CString& rhs )         { return (rhs.Compare( lhs ) >= 0); }inline bool operator>( const CString& lhs, const CString& rhs ) { return (lhs.Compare( rhs ) > 0); }inline bool operator>( const CString& lhs, CPCHAR rhs )         { return (lhs.Compare( rhs ) > 0); }inline bool operator>( CPCHAR lhs, const CString& rhs )         { return (rhs.Compare( lhs ) <= 0); }#endif //ndef _STR_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -