プログラミングのメモ帳(C/C++/HSP)

日々のプログラミングで気づいた点や小技集を紹介します。(Windows 10/XP/Vista、VC2017、HSP)

便利C++の文字列関連クラス

2014年04月05日 19時40分07秒 | 便利ライブラリ関数

ここは、普段自分専用に使ってるC++のクラス・ライブラリです。
メンバ関数(メンバ変数も含む)は public 属性と protected 属性のみを公開し private 属性は記述してません。
また、この普段自分専用に使ってるC++のクラス・ライブラリは、現在ソースを公開してません。(戻る)

  1. NULLストリームのクラス (oemNulGets)

NULLストリームのクラス - oemNulGets.h

class oemNulGets {
public:
    // コンストラクタ
    oemNulGets();
    oemNulGets( LPTSTR lpText, BOOL cutCRLF );
    // 操作関数
    LPTSTR  rewLine();
    LPTSTR  getLine();
    VOID    setLinkNull( LPTSTR lpText );
    UINT    setLineNull( LPTSTR lpText );
    UINT    setLineCRLF( LPTSTR lpText );
};

サンプル

「sample.ini」ファイルを行番号付きで表示します。

static VOID funcSample()
{
    oemTxtFile  file;
    oemNulGets  buff;
    LPTSTR      lpText;
    LPTSTR      lpGets;
    
    if ( (lpText = file.readFile(TEXT("sample.ini"),FILE_ATTRIBUTE_NORMAL,NULL)) != NULL ){
        if ( buff.setLineCRLF(lpText) ){
            // 通し番号で行番号
            for ( DWORD dwLine = 1 ; (lpGets = buff.getLine()) != NULL ; dwLine++ ){
                printf( TEXT("%5d:%s\n"), dwLine, lpGets );
            }
            // テキストの巻き戻し
            buff.rewLine();
            // N88-BASIC風の行番号
            for ( DWORD dwLine = 1 ; (lpGets = buff.getLine()) != NULL ; dwLine += 10 ){
                printf( TEXT("%5d %s\n"), dwLine, lpGets );
            }
        }
        ::GlobalFree( lpText );
    }
}

関連記事



コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 便利C++のファイル関連クラス | トップ | 便利C++のキーボード関連ク... »
最新の画像もっと見る

コメントを投稿

便利ライブラリ関数」カテゴリの最新記事