/*
    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/11/13(Mon) No.082
    zMF 3880i Mag2 + Pubzine j
    sF ܂܂( URL: http://www.mag2.com/  ID: 0000012198 )
    sF Pubzine( URL: http://www.pubzine.com/  ID: 590 )
*/

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

EvO~OtZx~
@vO~O̒PtQTԂx~܂B
@x~Ԃ͂PRij`QUijBR͖ZijB܁A
QTԂȂłƂ҂ĂˁB
[ vO~O ]
http://www.kab-studio.com/Programing/Dictionary/


E Codian - iostream ɒǉI
@ Codian  iostream Ƀy[Wǉ܂I
@́u STL & iostream v̒ iostream  #07 - #10 
B}łI
[ Codian ]
http://www.kab-studio.com/Programing/Codian/


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

2000/11/05 (Sun)
@ueXgITOI@̂ƂȂ́Hv̌ʔ\I@[
[߂ijBerFXmXy̓ybgBu鏤ivĂȂ
قB

2000/11/06 (Mon)
@jQRqbgI@ŋ߃qbgĂƊB
AJE^[͕\̈ԉɂ܂B

2000/11/07 (Tue)
@AEOCiojI@Ȃx^x^ȓeȂ\mȂ
ƑBu^Cgo[[̃ACŔ̖vȂĒmāB

2000/11/08 (Wed)
@WC`tbs[ɍ΂̍鍡̍BČ\
̂ˁBƃqbg̘bB

2000/11/09 (Thu)
@[_[tB̃z[y[WƌAbkhd̂sVc
ƌƓXIXKB

2000/11/10 (Fri)
@AEOCiojBꂪ\ȗʂł˂BAoA
ȏɂЂƂ CD-ROM Ă̂łB\ρB

2000/11/11 (Sat)
@EFuR~bN{Cōڂ悤Ǝ݂Ă̓XI@[P
Ƀ}K`Ă邽̃I^NijBāAꂽĂ
vXɐ^ʖڂȂƌI@


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

2000/11/05 (Sun)
Codian  STL ́u֐IuWFNgiOҁjvǉ
T iostream ́u񂩂̓ǂݎvǉ\
AEOCioj

2000/11/06 (Mon)
̒Pꑽ

2000/11/07 (Tue)
AEOCioj

2000/11/08 (Wed)
uKx[WRNVvhH@ƂuK[xWRNVvhH
IԂ̃ACR̎擾
CImageList::Draw() i API Ȃ ImageList_Draw() j ILD_SELECTED 
SHGetFileInfo()  SHGFI_SELECTED 
Knowledge Base  Q128786 Ɏŕ`悷@

2000/11/09 (Thu)
ՂƂ폑
 API gĂƂb
܂܂ƂƂĂ
̕dv
ŏI񂪂ɂȂ邩s

2000/11/10 (Fri)
AEOCioj
PRQU܂ł̊Ԃ͎̒Ptx

2000/11/11 (Sat)
x


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

EǉPF
B  BCD NMAKE try Windows NT OL[ Kx[WRNV 
R[hEH[A[ Vtg VO^XN XNvg ^C}[
dp eNX`[ r W֐ W C Cu 
t@CXR[v vbgtH[ zbgACe }WbNio[ 
}WbNt@C }`^XN _O [h 

ET̏󋵁F
@Oq̒ʂAPRQU܂ł̊ԁA̒Ptx݂܂B
v̊O`Błŋ߁uvۂ̌ȁB
s[^[񂪑ĂƂȂ炤ꂵB


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

ev[g
#02 ev[g̃CX^X

@O̊֐ev[gB

template< class type_numeral >
type_numeral Increment( type_numeral p_num )
{
    ++p_num;
    return p_num;
}

@܂ȀԂł́uvOvɂȂĂ܂BuvȎO
̏ԁvłB̊֐ev[gvOɉāugȂv
ł΁ARpCɃRpC͂̊֐ev[gRpC
܂B܂肱̊֐ev[g𖳎Ă܂łBȂāA
֐ev[ǵu֐ȂvuvOȂvłB
@vOƌȂA֐ƂĈ邽߂ɂ́Å֐ev
[gugvKv܂B

    Increment( 100 );

@ꂪ֐ev[gugĂvԂłB̂Ƃ߂āA
ev[g͂Ƃu֐vɂȂ邱Ƃł܂B
@RpC͂́u֐ev[gĂяoĂ镔v
ƁA܂̌^𒲂ׂ܂Bł 100 Ȃ̂ŐlłBŁA
RpČ͈^ int ^ƌ߂܂B
@ɃRpĆARpC̋L̈Ɋ֐ev[g̃R[h
ǂݍ݂܂BĈ̌^mF܂B

template< class 
    type_numeral // ev[gB
>
type_numeral Increment( 
    type_numeral // ̌^B
p_num )

@ǔ^vuev[gi template<> ̌JbR̂̒
 class Ŏw肳ꂽPjvƈvꍇǍ^ int ɒu
AɊ֐ev[gŜ̒œǔ^vgĂ镔
 int ɒu܂B

template< class int >
int Increment( int p_num )
{
    ++p_num;
    return p_num;
}

@̂ƂARpC̋L̈撆Ɂu֐va܂B
u֐ev[g̃CX^Xvƌ܂B
@̏Ԃ͂Ƃ֐łB̎_łƁÅ֐̓Rp
CɃRpĈłB


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
wxނ́Hx
uxނ炵ˁv
wx񂾂qbgHx
uȂłB goo Ō邩ǂA炵v
wł goo ĂȂɎgĂl̂ȁx
u[قA yahoo ɑgݍ܂Ă邩v
w̃y[W goo ̂񂾁BȂ񂩂ˁx
u͈ႤBΔ^CƂ MFC głv
wvO~O̘bɐU邩Ix
uȂłō炸ɁAAEg\[VÔƂv
w͂x
u MFC ăNXȂȂĐYccv
wccĂ[LHx
http://www.kab-studio.com/Programing/Dictionary/
_______________________________________________________________[KCM]


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

@Version 5.17
iostream ŕ񑀍I

u܂͂߂Ȃv
wAȂӂ邩x
u܂ACN[ht@CɂāBCN[ht@Cĉ
Hv
wĂA Ver 5.09 ( No.074 ) łˁx
uA FileTestDlg.cpp ̍ŏŁv

#include "stdafx.h"
#include <fstream>
#include "FileTest.h"
#include "FileTestDlg.h"

uĂˁv
w΁A fstream ̋@\g񂾂ˁBꂪ std::ifstream
Ȃ񂾂ˁx
uŁA͂ŐVCN[hȂႢȂt@C
ǁAYĂ܂v
wȁ[x
uzg͂łv

#include "stdafx.h"
#include <fstream>
#include <strstream>
#include "FileTest.h"
#include "FileTestDlg.h"

w strstream Ă̂CN[h΂̂ˁx
uЉ std::istrstream ĝɂꂪKvBŁA
ЉvOɂƃ~Xv

    DWORD dwReadedSize;
    BOOL bRes
        = ReadFile
            ( hFile, chAllLine, 1023
            , &dwReadedSize, NULL );
    if( bRes == 0 && dwReadedSize == 0 )
    {
        TRACE( "t@Cǂ݂Ƃ܂łB\n" );
        CloseHandle( hFile );
        return;
    }
// ܂ł͑Oɉ܂BԈႢȂcc͂B

    CloseHandle( hFile );

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

    return;
// ȉA iostream ̃vOĂ܂傤B

w Ver 5.15 ( No.080 ) ƌׂƁA CloseHandle( hFile ) ĂԈʒu
ႤHx
uB CloseHandle( hFile ) ̋@\́Hv
w CreateFile() ŊJt@C́x
uЉƂ͂t@C̑삵ȂĂȂO
t@Cėǂ񂾂ˁv
w܂肻ɋCtȂƁx
u API ͎gĂȂȁ`Bł͍̉ɓ܂傤v
wĂ[A Ver 5.10 ( No.075 )  std::ifstream ĝƂقƂ
Ǔˁx
uA i 錾Ăꏊ΂΂炾ȁ`B܂͍x
悤BA std::ifstream ƂقƂǓv
wႢ́Hx
u std::ifstream ̓t@Cǂݎ邽߂̃NXǁA
std::istrstream ͕z񂩂ǂݎ邽߂̃NXv
w API gႾāAȂ񂩂gĕςȂHx
u܁AꂳĂȂ͕̂ςǂˁBł_Ȏgł
͏dvB֐NX́qrƂĎgȂȂႢȂ
ˁv
w܁[͂ǁx
uāA܂ std::istrstream ^̕ϐ܂v
wAłȂ񂩏ƈႤˁBϐĂ̂ɁAȂ񂩊֐
Ăł錩x
u̓RXgN^ĂANXg@\̂ЂƂBNX
ȂӂɁqϐƂɊ֐ĂяorƂłłv
wϐƂɊ֐ĂтIH@́[ApȂƂł
ˁ[x
ułoIɂ int i = 0; ݂̂Ɠv
w[ɏˁx
uƁB܁A͂gł邭炢łB
݂ɁÁqϐƂrɌĂяo֐ǁAqϐȂ
ȂƂrɌĂ΂֐܂v
w[AɃt@CĂăcIx
uAt@C肷㏈Ă̂AfXgN^
ĂAϐȂȂƂɌĂ΂֐v
wȂ񂩃NXĕ֗B烉^C API Ƃ iostream 
 MFC gyȂ̂ˁx
uƂɂȂ邩ȁB܁A͎giKyǁAiK
Ȃv
wςȂ̂ˁccx
uŁA cStrStrm ƂɃRXgN^Ăяo cStrStrm ̒
g܂v
wP chAllLine ̓t@CŜĂ镶zˁBꂪ
t@C̑ɂȂ񂾁x
u dwReadedSize  ReadFile() 󂯎qۂɓǂݎ
̃TCYrBĂƂ́Hv
wĂƂ́A chAllLine ̒ɓĂ镶̃TCYĂƂˁx
ȗQ cStrStrm ̃TCYw肵܂B΂ȏ
ݏoȂv
w[[ƂȂႢȂ񂾁x
u͂ݏoĂ邩ǂ͎ std::istrstream::eof() ŕ܂v
wĂ[A std::ifstream Ƃ܂ČĂ
Ǔˁx
u iostream ̃bg͂ˁBñNXȂ瓯gł
Ă̂₷łv
w܁[ꂾΕ₷ȁ[x
u܂[[ƌBāA܂ł iostream A^CA MFC
 API Ńt@CĂ킯ǁAǂHv
wĂ[At@C삻̂̂ĂǂAJēǂ
łĕĂ[x
u񂤂v
w񑀍̕߂ǂx
uAlʓ|v
w͂Hx
u iostream ɂ́q@\rA܂萮l╶ւ̕ϊ@\t
Ă킯łv
wAł^C MFC ͂PsǂݍŐlɕςĂ
Ă߂ǂāA API Ȃăt@CŜǂݍރnɁccx
uǂĂ[x̃CuقǁA֗ȋ@\ȂĂX
邩ˁv
w[xĒ჌xĂƁHx
uAӖȂāAwxČ̂ȁA
OɁq API  OS n[hEFÃCurČłv
wĂĂBӖł̒wHx
uAׂ𑀍łӖłˁB iostream ͂ȋ@\t
ĂԂAׂƂ͂łȂ񂾂ˁv
wϕ֗ˁ[x
u[IIv
wHx
u iostream  MFC A ^CāqwɍwdȂĂr
̂ɂ͕ςȂ񂾂ˁv
wǂ䂱ƁHx
uł́A CFileTestDlg::OnBtnShow() ɖ߂܂傤v

void CFileTestDlg::OnBtnShow() 
{
    int i;
    std::ifstream cIFStrm;
    cIFStrm.open( "Data.txt" );    // Ƀu[N|Cg
    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 );
    }
}

wA std::ifstream ĝx
uqɃu[N|CgrĂƂɃu[N|Cgݒuāv
wNbNĎ̂Ђ}[NĎsāyQƁz{^I@~܂
ÁHx
uA std::ifstream::open() ̒ɓĂ݂܂v
wցHx
uXebvCccƁAyJbRɓz{^āv
wXebvC[̂ˁBقBA Fstream ăt@C
݂̒x
ũt@CCN[hłv
wA΁x
ũt@C std::ifstream::open() ̒gĂƂˁB
ɓāv
wقƁBH@t@C̈Ⴄꏊȁx
uXebvCQ񂵂āv
wققA Fiopen ăt@Cɗˁx
uXebvCSŃXgbvv
wققققAĂȂςȂǁx
u̍sāv

    if (valid[n] == 0 || (fp = fopen(name, mods[n])) == 0)

uĂȂĂȂHv
wȂĂccAĂ fopen() āccx
uƂ킯őIv

/*
    Preview Next Story!
*/
w iostream ̒Ƀ^CIHx
uӂɁACu̒ɂ͋ςv
wāAȂ񂩐󂿂AVCx
uAIHv
wAVCAVCIIx
uƂ킯Ŏv
 Version 5.18 ׂĂ̓ API ɒʂI 
wɂÂIx
ułȂ񂩃hLhLĂłv
wAȂ񂩖`Ă銴x
uӂӂӁ[v
wccȖڂx


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

EXVȂ
@ƖẐ[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!!                      */


