/*
    KAB-studio.h
        @j`a|ŐTXVe
        i[ꂽwb_[t@Cłi΁jB

    (C)KAB-studio 1999 - 2000 ALL RIGHTS RESERVED.
        http://www.kab-studio.com/
        info@kab-studio.com

    MF 2000/10/23(Mon) No.079
    zMF 3840i Mag2 + Pubzine j
    sF ܂܂( URL: http://www.mag2.com/  ID: 0000012198 )
    sF Pubzine( URL: http://www.pubzine.com/  ID: 590 )
*/

/*              QOOONPOQRij̍XV                */
http://www.kab-studio.com/

EXVȂB
@̑O̐ÂH


/*                        `[ʂȓL                        */
http://www.kab-studio.com/nikki2/

2000/10/15 (Sun)
@΂̎l\B̒hƑˁ񂽂̓Lǂ
vijB

2000/10/16 (Mon)
@Z[t[hŋNBăZbgAbv̊@IH@pXlbg֗A
ă[~P񑲋ƌԔ\B

2000/10/17 (Tue)
@[hobGLX|ɍsĂ܂܂I@oXōs߂Ă
rbOTCgAifWJɂtHg|[gÁuRs[^[v
ɏWI

2000/10/18 (Wed)
@T}NłHBďjQQqbgBŋ߂ goo ̂
q񑝂܂Ă܂B

2000/10/19 (Thu)
@AEOC̓Yۑ𑗂hLX~莩̃~Xɏ
ւȂBȂ񂾂񂾌Č\FXlˁB

2000/10/20 (Fri)
@CXg`܂BĂ̖̏͏ƂƁijBƂ
ƂăvO~O邵B WebMoney ɊґBAWFg\[}
ɂґBRN^[EC͍ŏIijBȂ肢ołB

2000/10/21 (Sat)
@̓er֌WSBσAjĖʔȁ[A񂤂B


/*                         L̗JT                             */
http://www.kab-studio.com/Programing/KabuU/

2000/10/15 (Sun)
x

2000/10/16 (Mon)
ւ
o֐|C^ɂ
TvR[h
i[ł͎̂w肵uNXE߂lEṽo֐̂
i[Ƃ̓NX^ϐƂ͊֌WȂ
g֘AÂ
Rx̂bg
ւ
ActiveX ɂ
ActiveX ͔͈͂L
Visual C++ 5 pteNjbNSWAł㋉Ҍ
ActiveX Rg[̂ǂ
ւ
t[EBhEŜ̍ĕ`
ModifyStyleEx() łł

2000/10/17 (Tue)
x

2000/10/18 (Wed)
C }KW̕t^ BCB5.5.1 
ŋ߂ gcc for WIN32 ( Cygwin ) gƑ
R}hCRpC VC g@
c[o[ɃR}ho^
[AEgvbgEBhEgp]֗

2000/10/19 (Thu)
STL & iostream Ń~X
#06  iostream ̉
seekp( 0, std::ios::cur ) ͐i܂Ȃ
TvR[hɎlꔪ
eRpC iostream x_
ւ
VC ̂悤ȃhbLOEBhEɂ́H
肷邵Ȃ
Codeguru ɃTvR[h邩

2000/10/20 (Fri)
mʁ Google f[^x[XTCY
AEOCŒׂ
̏񂪓
vO~O̒Pꂪ

2000/10/21 (Sat)
#pragma twice
API găt@C IO 
API đ
ꂩ̗\


/*             vO~OET̒ǉP                 */
http://www.kab-studio.com/Programing/Dictionary/

EǉPF
TRACE s GXP[vV[PX X[p[XJ[ SIMD 
_ANZX V[PVANZX Oobt@ zXg "

ET̏󋵁F
@͂POPǉBŒǉ̂邯ǁBȂ񂾂
񂾌āAPɂĂ͂Ȃ蒲ׂȂƔ[Ȃ̂\
ŁA̓_ō炢̐傤ǂȂB

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
wȂłAz[y[W̃fUCς炵[x
ũj[o[ȂȂ邻ǁv
wII@Ã{^ȂȂႤccx
u IE4 ƂƂƌȂ炵ǁv
wȂĂ̂A炪oĂ΁x
uȖꒃȁv
włȂŃj[o[Ȃ́Hx
ũj[o[guEUĂȑȂ炵āv
wȂ񂾂񂾌ĂX^CV[gĈSĎgȂˁx
u畁ʂ̃j[ɂĂ̂ƁAЂƂv
wЂƂHx
ut[ƃy[W\GAVvɂĂ̂v
wmɁAꃁj[o[͕\悤ɃNĂƂx
uVvɂȂ΃y[W̑S݂̑͂₷낤v
wAt[̎^^I@łȂȂ̂`x
u܂킪܂܂ȁccv
http://www.kab-studio.com/
_______________________________________________________________[KCM]


/*                       #pragma twice                            */
http://www.kab-studio.com/Programing/PragmaTwice/


@Version 5.14
TƏ_

uł͂̑ȎB͎ۂɓǂݎĂ镔Ă݂܂傤v

    int iError = 0;
    int iTemp = 0;
    char chOneLine[256];
    while( cStdFile.ReadString( chOneLine, 255 ) )
    {
        iError = sscanf( chOneLine, "%d", &iTemp );
        if( iError == 0 )
        {
            TRACE( "lȂł\n" );
            break;
        }
        char chDest[256]; 
        sprintf( chDest, "%d", iTemp );
        m_cDataLstBox.AddString( chDest );
    }

wĂȂÕ^CgƂƂقƂǓˁx
uǂ sscanf()  sprintf() gĂ邵ˁBĂ[ۂ MFC 
gĂƂ́v

cStdFile.ReadString( chOneLine, 255 )

wˁ[BςƌA fgets() ̑Hx
uƁB CStdioFile::ReadString() ́At@CPs
荞ŁAPɃRs[܂v
w 255 Ă̂́APsȏゾƓȂĂƂˁx
uAȍ~̓Jbg܂BŁAdvȂƂB CStdioFile ɂ́A
EOF 𒲂ׂ@܂v
wAȂ́BeNX CFile ̕ɂHx
u܂BɁA CStdioFile::ReadString() ̖߂lAŌ
ōs NULL  ԂĂ邩v
w while ŒׂĂ킯ˁBŁA while ̒̓^CƓ
Ɓx
uƍŌɁȂÕvOŜ̂āB close() ݂Ȃ̌
łȂłv
wzgA std::ifstream gƂƓĂƁHx
uƁBNXɂ́qn@\r邩A
CStdioFile  std::ifstream gĂ킯v
wNXȂA^C̕ fclose() Ă΂Ȃ_ĂƂˁx
uĂŁAƃubVAbvĂ܂傤v
wǂƂHx
uƂ΁A sscanf()  sprintf() ĂƂƂv
wˁ[AlƂĎoāA܂ƂďނĂ
Ȃ胀_Ăˁx
uǂȊɂ΂ƎvHv
ŵ킴Ƃ̂āAmqĂllǂrm
߂炾ˁBÅm߂Ă̂𒼐ڂ΂
ȂHx
uƁI@̃`FbN̂߂ɁA isdigit() Ă^C
g܂BƁA`̃vO͂̕Ȃ܂v

    char chOneLine[256];
    while( cStdFile.ReadString( chOneLine, 255 ) )
    {
        for( int iF1 = 0; iF1 <= 255; iF1++ )
        {
            if( chOneLine[iF1] == '\0' )
            {
                break;
            }
            else if( chOneLine[iF1] == '\n' )
            {
                chOneLine[iF1] = '\0';
                break;
            }
            else if( !isdigit( chOneLine[iF1] ) )
            {
                TRACE( "lȂł\n" );
                return;
            }
        }

        m_cDataLstBox.AddString( chOneLine );
    }

w[A sscanf()  sprintf() ̕A for [vɒu
ˁx
uׂȕ@ǁAЂƂ`FbNdg݂ɂĂ邩B
 for v
w 255 ĂƂ͕TCỸ`FbNˁx
uAz𒴂Ȃ悤ɂ邽߂ for BAۂɂ͂ for
̏Ń[vI邱Ƃ͏Ȃłv
wA for ̒ break Ƃ return Ƃς̂ˁ[B 
for  iF1 ́Az̃CfbNXˁx
ũCfbNXio[gāAz̕ЂƂЂƂ
Ădg݂ɂĂ܂v
wP̃[vłPAˁBŏ if ́AI[ǂ`FbNx
uI[Ȃ break  for 甲܂v
wŁA CListBox::AddString() ŃXg{bNXɒǉ킯ˁx
uI[Ȃ玟 else if ցv
wx͉sǂ̃`FbNBAsI[ɒu
ẮHx
uA̒u̕RgAEgĎĂ݂āv
wrhĎsBA 100EĂȂ񂩃S~tĂx
uscĂƂ\ꂿႤ񂾂ˁv
wȂō܂ŕ\Ȃ񂾂x
u sscanf() ŐloĂˁv
w[ÂƂɉsǂĂ񂾂ˁx
uŁAsɂ̍s̓ǂݎ͏IA break v
wI[łsłȂAŌ else if Bł
isdigit() oĂ̂ˁx
u isdigit() ̓^C̊֐ŁAlǂ`FbN
v
w MSDN ɂڂĂˁBlȂȂOԂĂ邩A
! Ŕ] if Ń`FbNAˁx
uŁylȂłzĂG[\v
wЂƂĂΊȒPˁx
u܁[ˁBłAȂƂ炢Ȃ菑ƌ\ςƎvv
wƂ΁Hx
uƂ for [vŕȂƂA 100Eĕ\
̌ȂƂv
whA肪x
uƁAꂾƂȂ傫Ȑ܂œ邩AƂ int Ƃɓ
Ƃɂ́v
wTCỸ`FbNȂႢȂ񂾁I@߂ǂ[x
uƂɋC񂷂߂ɂ́AۂɃvOƂƁA
ǂǂނƁA̗厖v
wǂ䂱ƁHx
u 100E̖Ȃ񂩂́APɁq΂rĕȂāA
ۂɎŉKȂƂˁv
w܂莎s낵ĂƁHx
uƁBɃvO~OĂ̂́ARs[^[̒g
ĂqȂ́r𑊎ɂ邩ATɊĂȂ
Ƃˁv
wsĂAƂɂςvOĂĂ[̂ˁx
ułꂾ_BɓŝƂȂv
wɓŝƁHx
uƂ΁q͂鐔͂W܂ŁIrƂv
wmɁA̐lɎgĂ炤Ƃɂ͂Ƃ܂ˁx
uTŒׂĂƁAǂĂmɕ΂肪łႤA
₤悤ɑ̒mǂǂ悤ɂāAł΂̒mɂ
Ăׂ悤ɂāv
wvɎĂƂˁBȂ񂩌\ρccx
u܂BāI@ŌɁA std::ifstream ĝ̃ub
VAbvɂāv

    while( !cIFStrm.eof() )
    {
        cIFStrm
            >> i;
        if( cIFStrm.fail() )
        {
            TRACE( "lȂł\n" );
            return;
        }
        char chDest[256]; 
        sprintf( chDest, "%d", i );
        m_cDataLstBox.AddString( chDest );
    }

uĂȂĂǁA͂̂܂܂łȁv
wÁH@ sprintf() זȁ[x
uꍇɂ́A sprintf() ̑ std::strstream Ă
̂܂v
wA STL & iostream łĂ̂Ix
ułĝ͌\ʓ|pXv
wIHx
u肩́A isdigit() gyȁv

    char chOneLine[256];
    while( !cIFStrm.eof() )
    {
        cIFStrm.getline( chOneLine, 255 );
        for( int iF1 = 0; iF1 <= 255; iF1++ )
        {
            if( chOneLine[iF1] == '\0' )
            {
                break;
            }
            else if( chOneLine[iF1] == '\n' )
            {
                chOneLine[iF1] = '\0';
                break;
            }
            else if( !isdigit( chOneLine[iF1] ) )
            {
                TRACE( "lȂł\n" );
                return;
            }
        }
        m_cDataLstBox.AddString( chOneLine );
    }

w cIFStrm >> ŎoĂ̂A getline() ăo֐ɕς
Ăcc CStdioFile::ReadString() Ɠˁx
uBۂɂ cIFStrm >> chOneLine Ăł񂾂ǁAőTCY
̐ݒ std::ifstream::width() ăo֐Ă΂ȂႢȂA
̕₷ȂƎvāv
wᕪ₷ˁÂƂقƂǓx
ułAʂɂȂāAŏ sprintf() gƎv
ǂˁv
wȂ́Hx
u܁A̕ӂ͍D݂̖肩Bdvȓ_͂ӂBЂƂ́AIȎd
g݂ƗāARɃvOg߂悤ɂȂ邱Ɓv
wIȎdg݂āHx
uzɂǂANZXĂ̂ƂAǂȂĂ̂Ƃv
w[x
uЂƂ́AG[`FbNƂ邱Ɓv
wweRȒlĂƑΏł悤ɂĂƂˁx
uƁv

/*
    Preview Next Story!
*/
wȂ񂩍͈ӎ_Ċx
uꂪԑ厖Ȃ񂾂ǂˁv
wȂ́Hx
uϗς̂Ȃ҂ɐfꂽȂłv
wƂ킯Ŏx
 Version 5.15 API Ńt@C 
uɂÂIv
włAwƂłƋĂȂۂˁx
u{̓_Ȃ񂾁IIv
wȂ񂾂ȁ[x


/*                       ؂̗JT                           */
http://www.kab-studio.com/Programing/KanaU/

const o֐
#11 

@const o֐gƁũoϐg΁IvĂ
ʂX܂B̐̂߂ɐ݌v蒼ȂႢȂȂ
ςˁB
@ŁA const o֐̒łoϐ const ɂł@
ӂЉ܂B
@܂ЂƂ߂́A this |C^LXg@BgƁA 
#09 ̖͂ł܂B

    virtual void VirtualFunc() const
    {
        const_cast< CSub * >( this )->m_i = 0;
    }

@̂悤 this |C^ const_cast gĔ const ւƃLX
g΁A܂ȂgƂł܂B
@ЂƂ mutable g@łB mutable  C++ ̃L[[h
̂ЂƂŁAoϐĈłBtƁAoϐ
 const oϐ̒ł悤ɂȂ܂B

    mutable int m_i;

@ #09 ł̉@łB邱ƂŁA const o֐̒
ł m_i ͏悤ɂȂ܂B
@킸ȂǁAǂł邾g_Bzg͐Ύg
Ȃ炢񂾂ǂˁBxgn߂ƃLȂȂႤB
@A炢ȂgĂȁAĎv́BÓuӖI
 const ̂͂vďꍇƂˁBłzgAł邾gȂ̂
ԂȂ񂾂ǂˁBT̓g[hItɂāBˁB


/*            QOOONPOROij̍XV\              */
http://www.kab-studio.com/

ECodian - iostreamɒǉI
@Codian  iostream Ƀy[Wǉ܂I
@́u STL & iostream v̒ iostream  #05  #06 
B  std::strstream ł̃|C^ɂĂłB}A
̂}Kł͊ԈĂςĂ܂B
@
EKAB-studio.h kōXV
@[}KW KAB-studio.h WOɒB̂ŏkłXV܂B
ŋߓǂݎn߂ɂ߁BāAŋߍwǓo^SRĂȂł
ǁijB


/*                          ӁII                            */

Ẽ[ԐMȂłB
EӌE]Ez[`[ʂȓL]肨肭B
http://www.kab-studio.com/nikki2/
EvO~OɊւ鎿[L̗JT]ɂ肭B
http://www.kab-studio.com/Programing/KabuU/
EwǓo^Ƃɂ͂̃y[WōsȂĂB
http://www.mag2.com/m/0000012198.htm
http://www.pubzine.com/detail.asp?id=000590
E͎ōsȂĂB
EobNio[͂̃y[Wɂ܂B
http://bigbeat.tegami.com/~mgsearch/frame.cgi?id=0000012198
http://www.kab-studio.com/Freeware/

/*
    KAB-studio.h
    Weekly Mail Magazine.
    Written by Kaburaya Seiden.

    (C)KAB-studio 1999 - 2000 ALL RIGHTS RESERVED.
        http://www.kab-studio.com/
        info@kab-studio.com
*/


/*                      See you next week!!                      */


