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

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

EXVȂij
@܁AFXĂˁccB


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

2000/08/27 (Sun)
@Zip ijBhNG̓zC~XC킢`BƃerFXB
A̓͂܂ÂPTԂJ悤ƂĂ邱ƂACt
͂Ȃ̂łccB

2000/08/28 (Mon)
@΂AB

2000/08/29 (Tue)
@΂񃍃OB

2000/08/30 (Wed)
@΂񂿂ŗԂ̕tYB

2000/08/31 (Thu)
@ΑB

2000/08/01 (Fri)
@Ƃł̂тB

2000/08/02 (Sat)
@ʖB


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

2000/08/27 (Sun)
x

2000/08/28 (Mon)
ւ
ibWx[X
KNOWLEDGE BASE iT|[gZpj
MSDN ƃ}CN\tg̃z[y[W
MFC ̃\[XR[h
Visual C++  CD-ROM
t@C猟

2000/08/29 (Tue)
x

2000/08/30 (Wed)
x

2000/08/31 (Thu)
ւ
Bꂽr[̃Lv`O͂łH
HWND  HDC 擾 BitBlt()
TvR[h
s
̉摜̂܂ܑĂ
ւ
ibWx[X
MSDN ͕֗

2000/08/01 (Fri)
x

2000/08/02 (Sat)
ւ
EBhẼLv`
ĕʂ̌fƈႤ
WIۂ
Lv`̓xN^[ŌJĂ̂̂Ȃɂ
͂΂ȂƂȂ邩


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

EǉPF
DirectShow K __asm CCAZu O DDK 
.Comst@C ItZbg ZOg WM_ t@[EFA 
NXev[g ֐ev[g PUi Qi OLAP 
c[r[Rg[ JIS Java \[g OCX O[o\[X
C^[Zvg c[ wchar_t 

ET̂߂Ȃ
bitmap vector tree WaitForSingleObject GfBbg{bNX strcmp 
VarFileInfo z rWAx[VbN TCYύX fread RAS
Documents COM X^eBbNN _variant_t  VariantChangeType
 }`Xbh databese treeview afxbeginthread pbg F ϊ
vGvg o[XGWjAO R[obN Cprog yC
oCgI[_[ oCi[Et@C C[W  INSTANCE
 Z}tH ~[ebNX winsock socket AZu 
_CNgGbNXV WM_SETTEXT O0vO WM_ACTIVATE
K z֐ LIB BitBlit ACg IȊ֐Ăяo 
UNICODE 摜 f~^

ET̏󋵁F
Ȃ񂩁Aqbgɏ]āA߂ȂĂĂȁ[B
łûɍڂĂȂIvĂ[̂CȂƂvł
ˁ[Bǁ[܂BȂ݂ɒPꐔ͂TOO˔jB[B


{magclick}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
wĕĂǁ[[́Hx
uPOSA܂PzḾv
wccȂ񂩂ˁx
@ĂȂ͍wǓo^B
http://www.kab-studio.com/Programing/STLiostream/
_______________________________________________________________[KCM]
{magclick}


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

@Version 5.07
C ^CCu

uł͑Ȏv

void ReplaceTo_strlen()
{
    TRACE( "%d\n", strlen( "ABC" ) );
    // 3
}

w strlen() Ă̂A̒𒲂ׂ̊֐Ȃ̂ˁBA
strlen  string  length ĂƁHx
uA̗ˁB strlen()  MSDN ŒׂĂ݂āv
wAڂĂ񂾁B_uNbNĂePIx
@ystrlenAwcslenA_mbslenA_mbstrlenzƂy[W\B
wAq̒擾܂rāBׂȊ֐ccBA
߂l size_t Ă̂ɂȂĂx
u unsigned int ƓBƁAIĂePāv
wA[Ă񂾁x
@yW^zƂy[W\B
wςBA size_t B[ unsigned int A sizeof Z
q̌ʂāB͂A sizeof ĉZq́H@֐ƎvĂx
u܂A + Ƃ̉ZqƂ͈ႤǂˁB C++ ꂻ̂̂ɂ́A֐
ēĂȂv
w֐Ȃ́H@ȂŁHx
uvO~Oɗ]vȂ͕̂tȂAĂ̂ C++ 
{pAĂƂ납ȁBɑtĂ΂v
wĂƂ́AtĂꂽ֐񂾁x
uAƂ΂ strlen() Ƃv
wAꂪȂ񂾁Ix
uƁAЂƂOɖ߂āA strlen() ̃y[W\āẢ̕
Ɂy񑀍샋[` zĂ̂邩v
w̃y[W\Ɓx
@y񑀍zƂy[W\B
wA܂ςȂ񂩂ccx
uŁA獶́yzăACRāv
wACRH@AyҏWzj[̉ɂ̂ˁx
@ƁA̘gyڎzɑAc[\B
yJeSʃ^C [`źy񑀍z]\Ă
B
wĖ{̖ڎ݂ȂHx
uAƂ΁yԊǗzĂ̂łv
w񂠂x
@yԊǗzy[W\B
uɕ\Ă֐gƁAԂ擾ł肷邩v
wف[AȂقǁx
uÁyJeSʃ^C [`zɂ֐Q
y C ^CCuzČ܂v
w[񂽂ށHx
uAƁyW C CuzƂƂ邵Ay^Cz
ėČƂԑȁv
w^Cccx
uq^CrĂ͎̂sĈӖǁA͂l
̌B^ĈƂ́AȊJɓĂ邱
Ɓv
wǂ䂱ƁHx
uEBhEYȂāA}bNƂłAvKv
ŁA}bNJƂł C ^CCu͎g
ĂƁv
wW C CuAȂ킯ˁx
uAłFX郉CûЂƂB Ver 2.14 ( No.025 )
ǂݕԂĂ݂āv
wA^CgyȃCuIzI@Ã^C
MFC ē[ȂȂ񂾁x
uƁBvO~OĂƂ́A{Iɂ́q@\
֐NXgƁAȂ΍邱ƁrȂ킯v
ŵȊ֐AȃCuɓĂ񂾁x
uŏdvȂ̂́Aǂ̃Cuɂǂȋ@\̂AĂƂ
ĂƁv
wAĉĂȂƃ_Hx
uʖځBvOgłƂɁqA̋@\͂̃Cû
g΁rĎvtKv邩v
w[AvtȂ玩ōnɂȂ킯A݂Ɂx
uƁBƑO܂ MFC  API ̎gĂ̂A_
CAȎƂ MFC ̃NXg΂񂾁AĂ̂𕪂
Ă炤߁v
w[[̂ MFC ̓ӕȂ񂾂ˁB^C̓ӕ́Hx
u strlen() ݂ȕ񑀍ƂAԊǗƂAt@CƂB
łccv
włHx
û MFC ɂ񂾂ˁv
wA^CvȂȂIx
u͉Δ񂪌߂邱Ɓv
wցHx
uƂƒmāAŁAǂg΂̂A߂Kv
ĂƁv
wȁAȂ񂩂ďdׂłȂȂHx
u܁AƂĂBĂŁA󂯎A
ĂƂlĂ݂܂傤v
wAΎ󂯎ĂƂȂˁx
uƂ΁ÃRs[郉^C strcpy() ̗ŌĂ݂悤
v

void Use_strcpy()
{
    const char chSourceAry[] = "ABC";
    char chDistAry[256];

    strcpy( chDistAry, chSourceAry );    // ŎgĂ܂B
    TRACE( "%s\n", chDistAry );
}

w strcpy() Rs[ẮHx
uAQ̕񂩂AP̕zɂˁB MSDN Ε
邯ǁAQ const char * AP char * ɂȂĂ邩v
wȂقǁARs[͏Ȃ const Ȃ񂾁x
uāAŒڂė~̂́A chDistAry ̗vfQTUĂƁv
wAQTUƂɉӖx
uȂv
wȂ񂩂Ix
uƂ肠qx傫ȐrĂv
wAƂΗvfPɂǂȂ́Hx
u͂ݏov
wA܂肠̃ōlƁAׂɏ񂶂ႤĂƂˁx
uƁBOǁAz̗vfmp͂Ȃv
w|C^ɂႤ sizeof Ȃ̂ˁB[Â
ǂHx

void CannotChangeLength()
{
    const char chSourceAry[] = "ABC";
    char chDistAry[ strlen( chSourceAry ) ];    // G[B
    // error C2057: 萔KvłB
}

wAG[oII@ȂłHx
uOɌłAźAƂɗvf蕪ĂȂ
_Ȃ́v
wAO const char chAry[] = pch ̓_ˁBƓ
񂾁x
uƁBzgƁAȂӂɃTCYŒ肳ꂿႤv
wdȂȐH@Ȃ񂩕s`x
u܁A狳Ă邯ǁA new  CString ĂgƖ
Ȃv
wAǂƂI@ new  Ver 4.13 ( No.063 ) ŌB
AϐV̂Ȃ񂾁x
uAȂDȃTCYmۂł킯v
wIIx
u CString  Ver 3.20 ( No.045 ) ŕ񃊃\[Xǂݍ񂾂肵
ƂɎgˁv
wABlĂ݂AꂪgĂ镶z̑
ȂĂ񂾁x
u CString ֌W̒ňԎg₷ƎvA
Ǝg悤ɉ邱Ƃɂ܂v
ẃ[x
uƂ킯ŁA󂯎Ƃɂ́Hv
wƂ肠̑傫̕zpӂI@ˁx
uƁBtƁÃRs[ČĂv

    chDistAry = chSourceAry

ułȂv
wOAǂ|C^Ȃ񂾂BԂ strcpy() ́Av
fЂƂЂƂ = œnĂ񂶂Ȃȁ[BȂ񂩖ʓ|ˁx
u̕ӑ厖B͔zǂ̏ɂȂ邩ÃRs[
ȂArƂƂ̂SʂȏKvɂȂ킯v
wA烉^Ćy񑀍zɂȂɊ֐񂾁x
ũy[Wɂ strcmp() rA܂q񂩁r
ׂ֐ŁA strcat() ӂ̕́v
w strlen() ˁ[B񏈗Ƀ^C͌Ȃ킯
x
ũ^ĈЂƂA sprintf() gĂ݂܂傤v

void Use_sprintf()
{
    const int iSource = 123;
    char chDistAry[256];

    sprintf( chDistAry, "%d", iSource );    // ŎgpB
    TRACE( "%s\n", chDistAry );
    // 123
}

úAl𕶎ɕϊ֐v
wāAčŏɌĂړIȂII@Ȃ񂾁A sprintf()
Ă̂gƂꂪȒPɂł̂ˁ[x
uȂ݂ɕϊł̂́AlȂBǂŌƂ
H %d Ƃv
w TRACE() ŎgĂ̂ccA sprintf()  TRACE() ^
񂾁Ix
u`I@ sprintf() ŁAɍ킹 TRACE() 
vɂȂẮIv
wȂ񂾁AtȂ񂾁x
u[łAmɂ͈Ⴄ񂾂ˁB̖ڎyóz
|yXg[ózJāA̒ printf()  Ă֐
Ă݂āv
wx
@y printf() z̃y[W\B
ũy[W̐^񒆂ւɁywzĂłv
w񂠂x
ũy[WɁq %d ͐l\rƂĂ邩B R.3 
y[WɏĂv
wAzgB %d ̑ɂȂ̂񂾂ˁx
u printf() ͕ʂɕo͂֐ŁA C ̖{
͂܂ŏɏẮv
wH@[Ȃłɂ͋Ȃ́Hx
uEBhEỸAv́AقƂǂgȂ񂾂ˁB̂nrȂ
g@񂾂ǁB̑ TRACE() AĂƁv
wف[AmɃAEgvbg͕֗˂x
uƁAbꂽł܂Ƃ߁v
wƁA^Cɂ͂Ȋ֐Aɕ񑀍̊֐x
u󂯎Ƃ́Azgv
w sprintf() gƊȒPɐ𕶎ɕϊłAƁx

/*
    Preview Next Story!
*/
wȂ񂩂ȂˁA𕶎ɕΐx
umɊ֐ЂƂˁBłx[X̒m؂v
w󂿂񂻂΂x
uƂ킯Ŏv
 Version 5.08 LPCTSTR 
wɂÂIx
uT{IȂƂ[v
wx


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

const o֐
#04 const o֐̐

@O񌩂悤ɁAu const NX^ϐ const o֐
ׂȂvu const o֐ł̓oϐȂv
uconst NX^ϐ̃oϐ͏ȂvAĂ킯B
@x const NX^ϐ̑lĂ݂悤B CForConst A
ȂNNXƂ܂B const Ŏg
ꍇB

    const CForConst cForConst;

@const ɂɂ́A cForConst ̃oϐ͐΂ɏ
።킯BƂ낪A

class CForConst
{
    int m_i;
public:
    void SetData( int p_i );
// ƃftHgRXgN^ƂB
};

@āÃNXƓo֐̎ʃt@CɂȂ
ĂẴ\[XȂAĂꍇB const o֐
VXeȂA CForConst gR[hRpCƂA
RpC cForConst ȂAĂƂ⏞邱
Ƃł܂B CForConst::SetData() ̒g͌ȂA
ĂĂ𒲂ׂiȂBȂႤƁA const 
ĂȂ̈ӖȂȂႤˁB
@ŁA const o֐̃VXe킯B

class CForConst
{
    int m_i;
public:
    void SetData( int p_i ) const;
// ƃftHgRXgN^ƂB
};

@const o֐ĂƂ́ÃR[hRpCRpC
ũo֐̓oϐȂvƂnt^
ƂɂȂ킯BA const o֐ĂяoẮA
CForConst::m_i ̒gȂƂ⏞܂B
@const o֐́ANX const AĂ҂ɉ
߂ɂ܂BNX const Aoϐ const A
Oꂷ邽߂ɁA const o֐ł̓oϐȂ
悤ɂȂĂłBȊɁAglƕ₷
ȁB const o֐g@ɂāBˁB


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

EvO~OPtx~
@vO~O̒PtPTԂx݂܂BŔAX
PQ`PTɃ[~hčXVƂςɂȂ邽߁BPTԂ
܂񂵂Ăˁ`B


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


