y‰SŽÒнŒ}zC/C++Ž ..
[
2ch
|
¥Menu
]
¡ƒRƒsƒyƒ‚[ƒh
ƒXƒŒ‚ð’Êí•\ަ
ƒIƒvƒVƒ‡ƒ“ƒ‚[ƒh
‚±‚̽گÄÞ‚ÌURL
¡€–ÚƒeƒLƒXƒg
67:nkf‚ðŽg‚Á‚Ä“ú–{Œêƒtƒ@ƒCƒ‹‚ðwstring‚֓ǂݞ‚ÞŠÖ”o—ˆ‚½‚æ 07/11/04 01:03:45 #include <windows.h> #include <string> #include <vector> #include <fstream> using namespace std; void wreadfile(char *inputfile, vector<wstring> &z){ typedef int (__stdcall *FNC)(char*); typedef void (__stdcall *FND)(char* ,char*); locale::global(locale("japanese"));setlocale(LC_ALL,"japanese"); HINSTANCE hd = LoadLibrary("nkf32.DLL"); FNC SetNkfOption=(FNC)GetProcAddress(hd,"SetNkfOption"); FND NkfFileConvert=(FND)GetProcAddress(hd,"NkfFileConvert2"); int n;char *tempdir;n=GetTempPath(1, tempdir); tempdir = new char[n+30];GetTempPath(n, tempdir); char temfile[20]="nihongohenkanyo"; strcat(tempdir, temfile); SetNkfOption("-w16L0 -X -Lu -d"); NkfFileConvert(inputfile,tempdir); fstream fp(tempdir,ios::in | ios::binary ); static wchar_t wbuf[2][1024*1024+20]; int N,flg=0,k;wstring str=L""; while(!fp.eof()){ fp.read((char *)(wbuf[flg]), 1024*1024); for(N=fp.gcount()/2+5; wbuf[flg][N-1]==0; N--); wbuf[flg][N]='\0'; k=0;while(1){ for(n=k; wbuf[flg][n]!='\n'; n++) if(n>=N){str=(wstring)&(wbuf[flg][k]); flg=1-flg; goto end;} wbuf[flg][n]='\0'; z.push_back( str + (wstring)&(wbuf[flg][k]) ); if(k==0)str=L""; k=n+1;}end:}remove(tempdir);}
ŽŸƒy[ƒW
ÅVƒŒƒX•\ަ
ƒXƒŒƒbƒh‚ÌŒŸõ
—ÞŽ—ƒXƒŒˆê——
˜b‘è‚̃jƒ…[ƒX
‚¨‚Ü‚©‚¹ƒŠƒXƒg
¥ƒIƒvƒVƒ‡ƒ“‚ð•\ަ
ƒŒƒXƒWƒƒƒ“ƒv
mixiƒ`ƒFƒbƒNI
Twitter‚É“Še
ƒIƒvƒVƒ‡ƒ“
‚µ‚¨‚è‚ð‹²‚Þ
ƒXƒŒƒbƒh‚É‘ž
ƒXƒŒƒbƒh‚̈ꗗ
‰É‚‚Ԃµ2ch
5001“ú‘O‚ÉXV/97 KB
’S“–:undef