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

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

E\POo[WɁI
@ȂƂ\POo[WɁIij@X\APT
̖ijB̂͂Ɍ\ɂłȂƁBǎo[W
܂B_E[h CG Gallery ɂāB

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


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

2000/09/24 (Sun)
@ŋ߃zgɂBȂԂ^Ƃ[erAj
Ȃ肢łBȂB

2000/09/25 (Mon)
@[~̉ۑĂPO\̎`ăhNGāBĎ
W[WGB

2000/09/26 (Tue)
@PO\II@Ƃ[܂̊łȁBbfɋ̂邠
̂߂ɁÃeNjbNڏqI@ƃMeBMAwƂhNG
 CLAMP ̐VƂƂB

2000/09/27 (Wed)
@ՂƂ폑B[ŋ߃hLX~B͂◎ڂƌ
A͂Ƃ肪`BĂ܂܂obNio[ׂ̋
B

2000/09/28 (Thu)
@ĂXgyɍsďĂHׂ疰H

2000/09/29 (Fri)
@fWJ`BVND`B STL & iostream  Codian 
`B

2000/09/30 (Sat)
@fWJ𔃂Ă܂`II@li͂XTOO~ijBRXgp
tH[}XȂ肢łB


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

2000/09/24 (Sun)
fscanf() ̖_͂蕪Ȃ
N
ւ
[JtbN̖肪
Thread ID  SetWindowsHookEx() ɃZbg炤܂
Codian ̕ɂĂ

2000/09/25 (Mon)
x

2000/09/26 (Tue)
ւ
DLL ̌ĂяoŃG[o
Exe  DLL ̃bZ[W|v̌Ăяo܂ĂȂ
eNjJ m[g 11
bZ[W|v̓XbhɂP
G[ǂɏoĂ邩`FbNƂ
EBhE쐬̃^C~O͂łnj
e CWinApp hNX m_pMainWnd  NULL ̂܂܂ƓȂ
eEBhE ShowWindow() SW_HIDE ōĂƂ
ւ
fscanf() ̓X^bNI[o[t[̊댯
"sł̖͂R[h"sꂤ
iostream  C++ ͎ł͂܂gȂ
u fscanf()  fgets()  sscanf() őpׂv̗Rm肽
N
łǂɔz邩y

2000/09/27 (Wed)
ւ
bZ[W|v Exe  DLL łӂɂȂ̂ł́H
bZ[W|v GetMessage() ŃbZ[WL[o
DispatchMessage() ŊeEBhEvV[WɃbZ[W𑗂镔
MFC ̏ꍇ CWinApp::Run() ɂ
ꂪ Exe  DLL 킹ĂЂƂs悤ɂȂĂ
[hX_CAÕANZ[^[e[ȕ̂߂
DLL  CWinThread::PreTranslateMessage() ĂяoKv
g DLL ɂΕ₷ȂƎv

2000/09/28 (Thu)
ւ
if ̂ƂŃG[o
\[XR[hȂƓ
usȏv_CAÓuڍׁv͖ɗȂ

2000/09/29 (Fri)
ւ
t[EBhEւ BitBlt() ŉʊOֈړƉȂ
MFC SDI `Ńr[ɕ`悵y
fXNgbvɒڕ`͂Ɗ댯
t[EBhEɕ`悷`ɂĂ肠肻
W[̂߂ DLL Ȃg DLL ɂ܂傤
 MFC42.dll Kv

2000/09/30 (Sat)
ւ
TvR[h
strcat() Ŕz̃TCY𒴂ďł
z񂾂ƃ`FbN
VC ̃fobO new & delete Ȃ
ւ
MFC  AfxRegisterClass() ɓnEBhEvV[W
S AfxWndProc() ł́H
ŐU蕪邩nj
CWnd::FromHandlePermanent()  HWND ɕʂ


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

EǉPF
Xg[ #pragma UTF-8 EDI `bg POSIX

ET̏󋵁F
@ɂA΂菭ȂłȁBm goo oR̐l֌WŃqbg
͔ɗ񂾂ǁAǉP͂ȏɏȂłBs[^[
͎gmĂ邩AƂƊԈႦđ肵Ȃ
ĂƂȂ̂BƑĂvC˂Ȃˁ[B


{magclick}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
wƂƂ̐jĕIx
uTj Codian IIv
włobNio[ōO񂾂ˁx
uꂶȂłv
wނccHx
http://www.kab-studio.com/Programing/STLiostream/
_______________________________________________________________[KCM]
{magclick}


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

@Version 5.11
^CŃt@CI

uO iostream găt@C܂v
w std::ifstream Ă[̎g񂾂ˁx
u͂b^C̊֐gāAt@C悤Ǝv܂v
w^Cɂ@\񂾁x
u܂͂ CFileTestDlg::OnBtnShow() ̍ŏāv

void CFileTestDlg::OnBtnShow() 
{
// ɂƂŒǉ܂B

    return;

    int i;
// Ƃ͑ÔƓB

wH@return ֐IႤx
u return ̑OɂƂŏЉvO`ނv
wǂ䂱ƁHx
uꂩ烉^C̎g񂾂ǁA͂܂ŕ׋p
eXgA܂ CFileTestDlg::OnBtnShow() ̒g͏
Ȃ񂾂ˁv
w܂ iostream ĝCɂ񂾂ˁx
uƁBAeXg CFileTestDlg::OnBtnShow() ̍ŏ
`ɂāȂO͂ƂĂ܂v
w return ł֐IႤ̂́A iostream gs
Ȃ悤ɂĂ邩Hx
uB܁Azg̓eXĝ̓eXgp̃vWFNgł
񂾂ǂˁv
wOȂƌĂˁx
uł Data.txt Ƃ̗pӂʓ|AłႤ
ɂ܂v
w蔲`x
uhv
wŁA return ̑O͂ǂ́Hx
uƂ肠A iostream gƂƓƂ^CłƁA
ȊɂȂ܂v

void CFileTestDlg::OnBtnShow() 
{
    // t@CJ܂B
    FILE *pstFile
        = fopen( "Data.txt", "r" );
    if( !pstFile )
    {
        TRACE( "t@CȂI\n" );
        return;
    }

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

    // t@C܂B
    fclose( pstFile );
    return;

// ȉB

w`AȂIIx
u߂ďoĂ̂ς邩ˁ[BЂƂЂƂĂB
v

    FILE *pstFile
        = fopen( "Data.txt", "r" );
    if( !pstFile )
    {
        TRACE( "t@CȂI\n" );
        return;
    }

u܂ fopen() B̓^C̊֐̂ЂƂŁAt@CJ
́v
w std::ifstream::open() ƓĂƂˁx
uÅ֐ĂԂƂŁAt@Cg悤ɂȂ܂BP
͊Jt@C̃t@CAQ̓t@C[h̎wv
wt@C[hHx
u݂AƂAǂݍ݂AƂw肷邽߂́B "r" Ɠǂ
ݐpA "w" ƏݐpB̕ӂ fopen() ̃t@Xɏ
Ă邩v
wŎwāA TRACE() Ƃ sprintf() Ƃ݂BłAȂ
std::ifstream ̂Ƃɂ͂̎gȂ́Hx
u std::ifstream ͂̂ȗł邩A킴킴ȂĂ
킯v
wց[x
úqȗłrĂ̂ C++ ̋@\B^C C 
̎ɍꂽA@\ĂȂ킯v
wꂾgÂ炢ĂƁHx
uȂ񂾂ˁBꂩ猩ĂǁÂς邩
v
wx
uāA std::ifstream ̓NXÃNX̕ϐāA
t@C̏S~邱Ƃł܂v
wց[A񂾁x
uƂ낪A fopen() ͊֐AOɒuȂႢ
Ȃv
wĂꂪ pstFile ĕϐHx
uƁB FILE Ă\̂ւ̃|C^ԂĂ邩A
󂯎Ďg܂v
wH@ĂȂɁHx
uccNX݂Ȃ́Iv
wzgɂHx
u{Iɂ͂ˁBNXƓAȕϐi[ł^v
w̒Ƀt@C̏񂪓Ă񂾁x
uӂė~̂́A|C^ƂĕԂĂ邱Ɓv
wĕςȂH@ϐĊ֐甲ƂȂȂႤ񂾂
AƂĂłȂ͂łx
u Ver 4.13 ( No.063 ) łǁAϐRɍĎRɍ폜
@邩v
wA new  delete Ƃ[̂ˁx
uŕԂĂ|C^wĂϐ́Aӂɍ
ϐĂƂˁBƂłƍ폜邵v
wց[x
uŁA FILE ̃|C^qt@C|C^rČ܂B悭g
Pꂾ牯Ƃāv
wāÂ܂܂x
uAłqt@C|C^rĈႤӖŎg邱Ƃ邩
ƒӁv
ẃ[x
uŁAt@CȂÃ|C^ɂ NULL ԂĂ܂v
wʂĂȂɁHx
uccA NULL ĂȂccB|C^ăAhX
łv
wAϐ̓ɂāȀZAhXŁA
Ă̂|C^x
uŁAAhX͐lłB̐lÕAhX NULL Ă
܂v
wHHx
u܂ NULL == 0 čl΂njB̓̂O͎̕g
A 0 ̃|C^gđ삷邱Ƃ͂łȂv
w܂G[̂Ƃ͂ NULL Ă̂ԂĂĂƂȂ񂾂ˁx
uƁB|C^߂lƂĕԂĂꍇɂ́A
ɂȂĂ邱ƂBAgAhXBsA
gȂ NULL ԂĂAĂƁv
wŁA if( !pstFile ) ͂`FbNĂ񂾁B !pstFile 
ÔƂOȊOɂȂ邩 if ̒ɓăG[\Aˁx
uꂪ std::ifstream::fail() ̑ɂȂĂ܂v
w TRUE  FALSE ɂƎĂ銴x
uAӖ̂̂ˁB{͂̐Ȃ񂾂ǁA
ɕʂ̖OtĈӖĂĊȁBȂ݂ null ͉p
Ń[ƂĈӖv
włȂ NULL ĕʖt́H@0 ł[x
uƂ낾ˁB NULL ̓|C^ɂgȂAӖ
ŕ₷ĂƂ͂v
wA܂蕁ʂ̐l 0 ƁAAhX 0 ̈Ⴂ݂ȁHx
uȂ񂾂ǁAۂɂ NULL Ă܂ 0 ƓAڂ̈Ⴂ
Ȃ񂾂ˁv
wǂ䂱ƁHx
u܂ int i = NULL; łĂƁBꂪoǑɂȂ
邩A NULL Ȃ 0 glŋߑ݂ˁv
wȂ񂩕Gccx
u܁A̕ӂ C++ ̂ƂƒmȂƂ킩Ȃv
w iostream ̕₷ȁ[x
umɃt@C|C^ NULL ǂAĂ̂ɔׂ΂ˁB
At@CCƂɂ̓t@C|C^ pstFile g
ĂƂɂȂ܂v
w̑O cIFStrm ̕ςˁx
uāA΂ƔŁA̍sāv

    // t@C܂B
    fclose( pstFile );

wAꂪĂAt@C|C^폜ĂƂłx
uAt@C|C^wϐ̓[JϐȂ`ō
ꂽ̂AIɍ폜Ȃ񂾂ˁv
wgI폜AƁx
u폜炻̃t@C|C^͎gȂv
w܂ fopen() ȂႢȂĂƂˁx
uƁB fclose()  pstFile = NULL Ăv
w̕Sˁx
uƁAt@C|C^폜邾ȂāAۂɃt@C
ANZXłȂ@\邩ˁv
wǂ䂱ƁHx
uƂƂŐ邯ǁAt@CĊ{Iɂ͂nr̋@\v
wEBhEYɁAt@C𑀍삷@\tĂ񂾁x
u fopen() ̓t@Cg悤ɂ֐A fclose() ͂g
Ă悤֐B̂ӂ́AԐړIɃEBhEỸt@C
@\ĂяoẮv
wȂ MFC ݂x
û́BŁAt@C邽߂̃f[^AIɍ
ϐɓāÃ|C^Ԃv
wꂪt@C|C^Ȃ񂾁Ix
u fclose() Ƃɂ́A܂EBhEYɁq̃t@C͎g܂
rĐ錾ĂAIɍϐ폜BȂ񂩍̘b
ϐč폜ĂƂӂĂ݂v
wĂB܂Aϐč폜A@\̂ǁAt@C
JĕAĂ̂̕Ƃ@\ĂƂˁx
uȂ std::ifstream::open() ̈ӖȂłv
włA std::ifstream ̕ɂ fclose() ɓ̂Ȃłx
u std::ifstream::close() ăo֐ɓ́BłA
IɌĂ΂邩gĂȂv
wIɌĂ΂Hx
uA C++ ̋@\̂ЂƂŁAfXgN^ċ@\g
́v
w C++ ֗̕Ȃ񂾁x
uӂ C++ ̂Ƃ낪gĂ邩A std::ifstream 
֗Ȃ񂾂ˁBƂ킯ŎɑIv

/*
    Preview Next Story!
*/
wA while [v͗THx
u܂[ĒȂB̂ĕʂ̖{ɂڂĂ񂾂ˁv
włA󂿂̉ŕIx
uĂāccv
wƂ킯Ŏx
 Version 5.12 ^C͖ʓ|I 
uɂÂIv
wĐ󂿂̉āccx
uccāHv
w^_Ix
uv


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

const o֐
#08 Ăׂ郁o֐AĂׂȂo֐

@܂̃NXĂB

class CTest
{
    void Const() const;
    void NotConst();

public:
    void Get() const;
};

@CTest::Get() ̒ĂяốAO悤 
CTest::Const() ̕B const o֐Ăяô const 
o֐B̗ႾƁA Get()  NotConst() ͌ĂׂȂ킯B
@A Get() ̎ NotConst() Ă΂ȂႢȂꍇA@
݂B
@ЂƂ NotConst()  const o֐邱ƁBA
ł̂ȂAǁB NotConst() ̒ŃoϐĂA
 const ͂ł܂B
@ӂ߂́A NotConst() ƂقƂǓ̂ЂƂāA
 const Ⴄ@B Get() gꍇɂ̓oϐ̏
͕KvȂAĂꍇɗLBǁA private ȃo֐
邩炻̓_ł͊}łȂˁB
@Ō̕@́A Get() ̕ const @BہA 
const o֐܂gȂł̂ԊyBłA
 const NX const |C^A const QƂ͎gȂȂႤ
ǂˁB
@Ԃ̖́AɂăVOlC`[ύX\
ĂƁB݌v̒iKŁu͓ǂݎp const o֐
悤vĂĂÅ֌WŔ const ɂ𓾂ȂꍇȂ
oĂāAȂƂ̋ɂ݁Bu const QƂȂĂ
vĎvA const o֐gȂȂႢ܂B
T̓I[o[Ch̖ɂāBˁB


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

Eu STL & iostream vĕX^[gI
@[}KW STL & iostream ̍ĕX^[g܂I
@ ܂Ń[`œǂ݂ȂBT׋ł܂B
ɁA܂ł̃obNio[SJI@Codian Oɗ\K
܂傤B

[ STL & iostream ]
http://www.kab-studio.com/Programing/STLiostream/


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

Eu STL & iostream vbŃX^[gII
@[}KW STL & iostream 傪 Codian I@܂ #05 
܂łfځBVɐ}ǉA C++ ҂{ɖߍ݂܂B 
STL  iostream ɋ̂邠Ȃ͂ГǂރxVI

[Codian]
http://www.kab-studio.com/Programing/Codian/

[ STL & iostream ]
http://www.kab-studio.com/Programing/STLiostream/


/*                          Ӂ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!!                      */


