{magclick}
{magclick}
/*
    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/09/25(Mon) No.075
    zMF 3860i Mag2 + Pubzine j
    sF ܂܂( URL: http://www.mag2.com/  ID: 0000012198 )
    sF Pubzine( URL: http://www.pubzine.com/  ID: 590 )
*/
{magclick}

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

E\Xo[WɁI
@ȁ[񂩁Aċx݂͕ϑIȍXVɂȂ߁AX\̌J
ijB
@͌\ɂłȂƁBǎo[W܂B_E
[h CG Gallery ɂāB

[CG Gallery]
http://www.kab-studio.com/CG/Gallery/

EvO~Ou߂Ȃvxp~
@vO~Oł́A܂ŁuǉłȂPv̏ꍇɂ́u
߂ȂvɗRtČfڂĂ܂AMcɑ
ƂɂƂȂāu߂ȂvȒPꂪ啝ɑĂ܂߁A
Ȃ炢ɂȂĂ܂܂B
@Ȃ̂ŁAꂩ́u߂Ȃvxp~邱Ƃɂ܂BȂ
ŁAǉĂȂu_񂾂ȁvƔfĂB
@ǉȂRȂꍇȂǂɂ͓L̗JTɂĂ肭
B


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

2000/09/17 (Sun)
@hNGSijBƁAڎwqH@L`̊Ԉ
ςII

2000/09/18 (Mon)
@܂ĂrfIhNGBāuyvƂƂ
āBȂl͑lȂ̂B

2000/09/19 (Tue)
@vԂɏÖ{܂ցB[ׂĂH@@o\
ۂH

2000/09/20 (Wed)
@hNGBėz܂̎̍ŏIBS̒ʂƁAȂ肢
̓eƎvłBR~bNXȁ[B

2000/09/21 (Thu)
@X\I@bf̕`ɋ邠Ȃ̂߂Ɍoߏڍׂf
ځI@āA̎ȖċCijBƏjQPqbg`B

2000/09/22 (Fri)
@ȂcbR~QTOOʂĂijB[~̃|[g
ƃhNGBāA{̏_AgpƂĔ荞݂܂I@Z
ԂŋȂ肽lKǁB

2000/09/23 (Sat)
@IsbN̖싅ƃTbJ[ĂĔꂽccB


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

2000/09/17 (Sun)
x

2000/09/18 (Mon)
ւ
gcc ̃IvV͂ǂḖׂH
gcc ̖{ǂނ̂Ԋy
C^[lbgŒׂƌ肷đ

2000/09/19 (Tue)
b}KWCTChEBhEY̕ǂ
vbgtH[肳Ă̓Ił
FFT ɂĂ̋L Codian ł\肾
ł

2000/09/20 (Wed)
x

2000/09/21 (Thu)
x

2000/09/22 (Fri)
x
⑗

2000/09/23 (Sat)
ւ
256 FɃrbg}bv\xȂ
LoadImage() ƂH
rbg}bv֌W͏ڂȂ悭Ȃ
foCXReLXggē]Ă݂炢
ւ
SetWindowsHookEx() s
SɃXbh ID nƂ܂


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

EǉPF
WIN32 WIN32API SSI Context Monitor typedef

ET̏󋵁F
goo ̃f[^x[X֌WŁAqbgAMB
ł͂łijB


{magclick}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
wQVA悢ŏIIx
uPO͍ĕn܂܂v
w Codian ́Hx
uccv
http://www.kab-studio.com/Programing/STLiostream/
_______________________________________________________________[KCM]
{magclick}


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

@Version 5.10
ifstream ƎgI

ȗÓAt@Cf[^ǂݎ@ȒPɌĂ݂܂v
w ifstream Ă[̎g񂾂ˁx
uAȊv

void CFileTestDlg::OnBtnShow() 
{
    int i;
    std::ifstream cIFStrm;
    cIFStrm.open( "Data.txt" );
    cIFStrm
        >> i;

    char chDest[256];
    sprintf( chDest, "%d", i );
    m_cDataLstBox.AddString( chDest );
}

ů֐ɂ͐FX肪邩A̕ӂǂĂ܂v
wH@ςƌȂǁx
u܂ Data.txt ȂƂ̖v
w`H@ Data.txt 񂾂Ȃ킯Ȃłx
u͂ˁBłÃAv́qt@Cw肵ēǂݍށr@\
邩B_CAOɁyQƁz{^łv
w΁B܂Jt@C邩ǂ`FbNȂႢ
Ȃ킯ˁx
uŁA std::ifstream::fail() Ƃo֐gp܂v
wAƑ҂āA NXƃo֐̊Ԃ :: āAO
́Hx
u[AȂƂˁB{Iɂ͈ႤǁAg͎Ă邩ȁB
܁ANXcAo֐OčlƎĂłv
w܁[ˁ[x
uÕo֐ႤNXɂ肷邩Aӂ
tl[ŏ̂ȁB CFileTestDlg::OnBtnShow() 
ɁA`͂ӂɏv
w ifstream::fail() łЂƂ̃o֐ĂƂˁB
 std:: ́H@tHx
ulɊ肯B ifstream ͗LAtȂĂW C++ Cu
̂ĂƂ͕񂾂ǂˁv
w󂿂񂪕tĂ闝ŔHx
uNZv
wNZA˂ccx
u܁Aςƌł̕₷Ǝv񂾂ǂˁBƘb
āv
w std::ifstream::fail() ˁB fail āqsrƂ̈Ӗ
ˁx
uA std::ifstream::fail() ĂяoƁAt@CJĂ
ꍇɂ false AJȂꍇɂ true ԂĂ܂v
wH@OĂ̂ TRUE đ啶ǁx
uA Ver 3.11 ( No.036 ) ł TRUE  FALSE ƁAقƂ
BȒPɌ΁A true  false ͐V̂ŁA TRUE  FALSE ͌
́v
wӂƎv񂾂ǁA啶ĂƂ́A Ȃ񂩂̕ʖȂ́Hx
uI@Ver 5.08 ( No.073 ) łˁB FALSE ͂OA TRUE 
OȊOúv
wȁAȂɂ́qOȊOrāIx
u if ƓĂƁv
wA΁A if ͂OȊOƓāAOƓȂ񂾂ˁx
uɍ킹Ă񂾂ǁA TRUE ̒lāA܂ĂȂ񂾂
ˁv
wOȊOAˁx
uꂾƍႤł̂A true  false B 1  0 
Č܂Ă邩g₷킯v
włAQނƍȁ[x
umɂBĎĝ͂ƕsB܁AŃvO
gނƂɂ true  false ȁv
ẃ[BŁA std::ifstream::fail() ĂǂǵHx
u  std::ifstream::open() ̂ƂɌĂяo΂njv

    cIFStrm.open( "_Data.txt" );
    if( cIFStrm.fail() )
    {
        TRACE( "t@CȂI\n" );
        return;
    }

umF̂߂ _Data.txt ăt@CJƂĂ݂܂v
wȂ킯A cIFStrm.fail() ŁccƁA true ԂĂ
AꂾƂP if ̒ɓ񂾂ˁx
uŁAt@CȂĂƂm点āÂƉɊ֐甲
܂v
włƖȑfˁ`x
u̕ӂ̓ACfBABۂ TRACE() ȂāA_CAO\
AxǂݒĂ݂AƂFXȕ@邩v
w܂Aǂ邩A߂ȂႢȂ񂾁x
uƁB܁AAṽfUC̕ˁv
wȂ񂩂[[̂ccx
u܁A{̓vO}[̎dȂƂ͎v񂾂ǂˁBĎBO
 std::ifstream  >> Zq͉ĂČ܂v
wAt@Cf[^荞 i ɓẮx
úAzɂĂ܂v
w΁At@CɓĂ̂ĕ񂻂̂̂Ȃ񂾂AR
ČΓRˁBccāAĂāA sprintf() v
ĂƂȂ񂶂ȂIHx
u̒ʂIv

void CFileTestDlg::OnBtnShow() 
{
    std::ifstream cIFStrm;
    cIFStrm.open( "Data.txt" );
    if( cIFStrm.fail() )
    {
        TRACE( "t@CȂI\n" );
        return;
    }
    char chDest[256]; 
    cIFStrm
        >> chDest;
    m_cDataLstBox.AddString( chDest );
}

uĂƁA  i Ȃ chDest ɁAƂď܂܂B
v
w sprintf() KvȂII@ނᖳʍ`x
uł͖v
wǂ䂱ƁHx
u̖ړÍAt@C琮lǂݍŁAXg{bNX
ɕ\邱ƁBꂾƁAt@CɐlȊOĂHv
w\ႤHx
uƁBAt@C̒ɓĂf[^Alǂ
`FbNȂƁv
w[x
u chDest ɓĂ璆ɐlĂ邩ǂׂĂ񂾂
ǁA荡́A cIFStrm ̋@\gă`FbN܂BȂŁA
ɖ߂܂v
wAʍIx
u cIFStrm >> chDest ēǂݎꍇɂ́At@CɉĂ
ǂ݂Ƃłv
weLXgt@C̒ǵA񂻂̂̂ˁx
u cIFStrm >> i ̏ꍇɂ́AƂēǂݎāA𐮐lɕ
ȂႢȂv
w̕ϊłȂꍇA݂ if ŏE return ΂
񂶂ȂHx
uƁI@AƓ std::ifstream::fail() g
΂njv

    cIFStrm
        >> i;
    if( cIFStrm.fail() )
    {
        TRACE( "lȂł\n" );
        return;
    }

wzgÃt@CJƂƓx
u std::ifstream::fail() ͂ȃG[`FbNł邩B
݂ɁAۂɂꂪ@\邩ǂׂƂ́A Data.txt ̍ŏɐ
lȊO̕Ίm߂邩v
wqrƂ΂[ˁBrhĎsA if ̒ɓx
učŌB Data.txt ɐlRꂽˁB̂RS
ݎ@Ă܂傤v
wARJԂ΂ for głx
uԂԁ[Bmɍ͂RǁAt@CɂĈႤAĂƂɂ
ƁHv
wRČ߂Ȃ񂾁BĂƂ́At@Cɂ̑SǂݎA
Ƃł΂񂾂ˁx
uƁv

    cIFStrm
        >> i;
    cIFStrm
        >> i;
    if( cIFStrm.fail() )    // ȉB

uĂƂǂȂHv
wrhĎsBA 200 ďoBĂƂ́A >> JԂƁA
ǂǂǂݎĂĂƁHx
uƁB cIFStrm ̒Ɂqt@CwjrāA
>> gƁAj̈ʒuɂf[^ǂݍłAj̃f[^
܂Ői߂AĂVXeɂȂĂłv
w֗ˁ[BA̐jAt@C̒[Ƃ܂ōŝ
񂾂ˁx
uƁB𒲂ׂ郁o֐ std::ifstream::eof() v
w[[ӁHx
u eof  End Of File ̗A܂t@C̍ŌĂƁv
wx
ut@C̍ŌɗÃo֐ true Ԃ܂BƂ
ŁA while ɂƁAȂ܂v

void CFileTestDlg::OnBtnShow() 
{
    int i;
    std::ifstream cIFStrm;
    cIFStrm.open( "Data.txt" );
    if( cIFStrm.fail() )
    {
        TRACE( "t@CȂI\n" );
        return;
    }

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

wrhĎsA[A 100 200 300 SXg{bNXɏoIx
u̕ӂAt@C̊{ȁv

/*
    Preview Next Story!
*/
wˁ[Â STL & iostream  iostream No.11 ƓHx
uقƂǓB͂㋉Ҍ͊ȒPǂˁv
wĂƂ́A͏SҌHx
u if ̕KƂĂϏS҂łv
whx
uƂ킯Ŏv
 Version 5.11 ^CŃt@CI 
wɂÂIx
uΔƕKȂƂˁv
wAƂAQx
uႤIIv


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

const o֐
#07 const o֐ĂׂȂ

@Ƃ΂Ȋ const o֐B

    int GetData() const
    {
        return GetDataTrue();
    }

@const o֐ GetData() ANX private o֐
GetDataTrue() ĂяoĂƂAĂʁB GetDataTrue() 
́A const o֐łKv܂B const o֐
RpCG[ɂȂ܂B
@GetData() ĂяoʂzĂ݂ĂB GetData()  const
o֐AĂяóulȂvƍl܂B
ۏ؂邽߂ɂ́A GetData() ̒ŌĂ΂郁o֐Al
ȂƂۏ؂Kv܂BlꂽA
GetData()  const o֐Ă͉̂RĂƂɂȂĂ
܂܂BRtȂ߂ɁA GetData()  const o֐
ĂׂȂƂɂȂĂłB

@܂u const o֐Ăׂ鎩NX̃o֐́A const 
o֐̂݁vƂƂłB̂߂ɁAo֐ɁuO[v
v̂悤Ȃ̂܂܂B
@public o֐ const  const ɂāAĂׂ郁o֐
ς܂B const  const  const ǂĂׂ邯ǁA
const  const Ăׂ܂B܂AƂ public Ȕ const o
֐ĂяoƂĂÂ const o֐Ăяo炻
[ʒuł͍Ăє const o֐ĂяoƂłȂ
B̕ӂ͖؍\݂Ȃ̂zĂ݂ƕ₷ȁB

@o֐ const ɂ邩 const ɂ邩́ANX̐݌viK
łBƂ낪ۂɂ͎͂@ɂđ傫E
Bǂ̃o֐ǂ̃o֐ĂяoAƂƂ
ƌ߂ĂȂƁA const o֐gƂłȂȂĂ
ł傤BT͋̓IȗɂČĂ݂܂BˁB


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

E\Ȃ
@PO\XVĂ邩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!!                      */


