CodeJob 板


LINE

※ 引述《deo2000 (800IM)》之铭言: : 推 WolfLord:要是我报价大约5K左右,其实这个功能我自己写的字串就有 12/01 17:35 : → WolfLord:对应功能了,大概需要花几十分钟做UI吧 12/01 17:37 : → WolfLord:朋友做交情的话,一瓶可乐或正妹撒娇都可能....就酱 XDD 12/01 17:37 : UI 嘛...我有用 cout + while(1) + system("cls") 做 UI 算吗XD : 防错,赶时间就没弄了 除非对方要用来串SH不然这样应该算不上UI,不管收不收钱以我无谓的User friendly 自我要求责任感下,我最少会一启动先呼叫一个OpenFileDialog,然後有输出最少会 叫一下SaveFileDialog(不使用winmain)。 : 不好意思,可能我功力不够无法理解,为何说是自己写的"字串"而不是"function"呢? 那就臭屁一下吧 :P (很长喔~ 不想看的直接END吧 :P ) //--------------------------------------------------------------------------- #ifndef wlsStringH #define wlsStringH //--------------------------------------------------------------------------- //----- Vars //----- Definitions #ifndef _stdLibWLS #ifdef __BORLANDC__ #define _stdLibWLS __fastcall #include <vcl.h> #else #define _stdLibWLS __stdcall #define BYTE char #define WORD short #define DWORD long #endif #endif #ifndef __BORLANDC__ extern "C" {void setmem(void *buf, int count, char ch);}; #endif //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- struct wlsGenPos{ int x1; int x2; int y1; int y2; int z1; int z2; int t1; int t2; int i; int c; int n; int p; }; //--------------------------------------------------------------------------- #ifndef _wlsCRC16Defined #define _wlsCRC16Defined #ifndef __x86Only__ struct __wlsCRC16Byte{ //Big endian BYTE high; BYTE low; }; #else struct __wlsCRC16Byte{ //Little endian BYTE low; BYTE high; }; #endif //--------------------------------------------------------------------------- union _wlsCRC16{ __wlsCRC16Byte bytes; WORD crc; }; #endif //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- extern void _stdLibWLS BackwardCopy(char *s,char *d,int len); extern void _autoDeleteWlsCString(void* v); //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- class wlsArray{ protected://---------------------------------------- void** vd; int length; void _stdLibWLS locate(int len); public: //---------------------------------------- bool AUTOFREE; void (*OnFree)(void *); void _stdLibWLS clear(void); void _stdLibWLS Insert(const void** v,int pos,int len); void _stdLibWLS move(int dest,int src,int len); void _stdLibWLS Push(const void* v); void _stdLibWLS PushBack(const void* v); void _stdLibWLS PushFront(const void* v); void* _stdLibWLS PopBack(void); void* _stdLibWLS PopFront(void); void* _stdLibWLS Pop(void); int _stdLibWLS Size(void)const; void** _stdLibWLS Ary(void)const; wlsArray(); wlsArray(const void* v); ~wlsArray(); void*& operator [](int v); }; //--------------------------------------------------------------------------- class wlsCString{ protected://---------------------------------------- char* CSTR; int length; int sectors; int realsize; void _stdLibWLS _init(void); void _stdLibWLS locate(int len); void _stdLibWLS setObjs(int len,const void *c); public: //---------------------------------------- char FieldSpliteChar; wlsCString* Prior; wlsCString* Next; int SectorSize; void* Attach; void* AP0; void* AP1; void* AP2; void* AP3; wlsCString& _stdLibWLS Append(const char prm); wlsCString& _stdLibWLS Append(const char* prm); wlsCString& _stdLibWLS Append(const wlsCString &prm); bool _stdLibWLS AppendToFile(const wlsCString &fn); int _stdLibWLS AsInteger(void)const; wlsCString _stdLibWLS Base64(void)const; wlsCString _stdLibWLS Base64(int col)const; wlsArray* _stdLibWLS Chain2Array(wlsArray* ay); wlsArray* _stdLibWLS ChainDn2Array(wlsArray* ay); wlsArray* _stdLibWLS ChainUp2Array(wlsArray* ay); wlsCString* _stdLibWLS ChainTop(void); wlsCString* _stdLibWLS ChainBottom(void); char* _stdLibWLS c_str(void)const; void _stdLibWLS clear(void); int _stdLibWLS comp(const char prm)const; int _stdLibWLS comp(const char *prm)const; int _stdLibWLS comp(char *src,int slen,char *prm,int plen)const; int _stdLibWLS comp(const void *prm)const; int _stdLibWLS comp(const wlsCString &prm)const; int _stdLibWLS comp(int pos,int len,const wlsCString &prm)const; int _stdLibWLS Count(char prm)const; int _stdLibWLS Count(const char *prm)const; int _stdLibWLS Count(const wlsCString &prm)const; _wlsCRC16 _stdLibWLS crc16(void)const; WORD _stdLibWLS CRC16(void)const; void _stdLibWLS CStr(const char* prmconst); void _stdLibWLS CStr(const void* prm,int len); void _stdLibWLS CStr(const wlsCString& prm); void _stdLibWLS CStr(double prm); void _stdLibWLS CStr(int prm); char* _stdLibWLS CStr(void)const; wlsCString _stdLibWLS Data(void)const; wlsCString& _stdLibWLS DeBase64(const wlsCString &prm); wlsCString& _stdLibWLS DeCrypto(const wlsCString &prm); wlsCString& _stdLibWLS DeCrypto(int n); wlsCString& _stdLibWLS DeCrypto32(const wlsCString &prm); wlsCString& _stdLibWLS DeCrypto64(const wlsCString &prm); wlsCString& _stdLibWLS DeDCrypto(const wlsCString &prm); wlsCString& _stdLibWLS DeDCrypto(void); wlsCString& _stdLibWLS DeDCrypto32(const wlsCString &prm); wlsCString& _stdLibWLS DeDCrypto64(const wlsCString &prm); wlsCString& _stdLibWLS DeE32(const wlsCString &prm); wlsCString& _stdLibWLS DeE64(const wlsCString &prm); wlsCString& _stdLibWLS DeE128(const wlsCString &prm); wlsCString& _stdLibWLS Delete(int pos,int len); wlsCString _stdLibWLS DrawHEX(void)const; wlsCString _stdLibWLS DrawNum(void)const; wlsCString _stdLibWLS DrawString(const wlsCString& Leadin,const wlsCString& Leadout); wlsCString _stdLibWLS EnE32(void)const; wlsCString _stdLibWLS EnE64(void)const; wlsCString _stdLibWLS EnE128(void)const; wlsCString& _stdLibWLS fill(int len,char c); wlsCString _stdLibWLS Fill(int len,char c)const; wlsCString _stdLibWLS FillLeft(int len,char c)const; wlsCString& _stdLibWLS Fillleft(int len,char c); wlsCString _stdLibWLS FillRight(int len,char c)const; wlsCString& _stdLibWLS Fillright(int len,char c); wlsCString _stdLibWLS Field(void)const; void _stdLibWLS FieltB64(void); void _stdLibWLS FieltE32(void); void _stdLibWLS FieltE64(void); void _stdLibWLS FieltE128(void); bool _stdLibWLS Field(const wlsCString &f)const; bool _stdLibWLS Fieldx(const wlsCString &f)const; wlsCString* _stdLibWLS FindKeyWordInChain(const wlsCString &k); wlsGenPos _stdLibWLS FindPair(const wlsCString& Lin,const wlsCString& Lout)const; char _stdLibWLS FirstChar(void)const; bool _stdLibWLS FirstCharIsNumber(void)const; bool _stdLibWLS FirstCharIsAlpha(void)const; int _stdLibWLS hex(void)const; wlsCString& _stdLibWLS hex(int v); // wlsCString& _stdLibWLS Insert(int pos,char *prm); wlsCString& _stdLibWLS Insert(int pos,char prm); wlsCString& _stdLibWLS Insert(int pos,const char *prm,int len); wlsCString& _stdLibWLS Insert(int pos,const wlsCString &prm); bool _stdLibWLS isASCII(const char *a)const; bool _stdLibWLS isASCII(void)const; bool _stdLibWLS isEmpty(void)const; bool _stdLibWLS isHEX(const char *a)const; bool _stdLibWLS isHEX(void)const; bool _stdLibWLS isNumber(const char *a)const; bool _stdLibWLS isNumber(void)const; bool _stdLibWLS isincludedchar(char *ab,int lenab,char *cmp, int lencmp) const; bool _stdLibWLS isIncludedChar(char *cmp, int lencmp) const; bool _stdLibWLS isIncludedChar(const wlsCString &cmp) const; char _stdLibWLS LastChar(void)const; bool _stdLibWLS LastCharIsNumber(void)const; bool _stdLibWLS LastCharIsAlpha(void)const; void _stdLibWLS Length(int len); int _stdLibWLS Length(void)const; bool _stdLibWLS LoadFromFile(const wlsCString &fn); void _stdLibWLS lowcase(char *a,int l); //Working Function only wlsCString& _stdLibWLS Lowcase(void); //Change & reyurn self wlsCString _stdLibWLS LowCase(void)const; //Change & reyurn temp int _stdLibWLS mPos(const wlsCString &sig)const; int _stdLibWLS mPos(const char *sig)const; int _stdLibWLS mPos(const wlsCString &sig,int count)const; int _stdLibWLS mPos(const char *sig,int count)const; wlsCString* _stdLibWLS NewPrior(void); wlsCString* _stdLibWLS NewNext(void); void _stdLibWLS pclear(void); int _stdLibWLS Pos(char prm)const; int _stdLibWLS Pos(char prm,int count)const; int _stdLibWLS Pos(const char *prm)const; int _stdLibWLS Pos(const char *prm,int count)const; int _stdLibWLS Pos(const wlsCString &prm)const; int _stdLibWLS Pos(const wlsCString &prm,int count)const; int printf(const char *format, ...); wlsCString _stdLibWLS Replace(const wlsCString &prm,const wlsCString &rep)const; wlsCString& _stdLibWLS replace(const wlsCString &prm,const wlsCString &rep); wlsCString& _stdLibWLS replace(const char prm,const char rep); void _stdLibWLS reset(void); bool _stdLibWLS SaveToFile(const wlsCString &fn)const; bool _stdLibWLS SaveToFileWithPath(const wlsCString &fn)const; wlsCString& sprintf(const char *format, ...); wlsCString _stdLibWLS Split(const char Mark); wlsCString _stdLibWLS Split(const wlsCString &Mark); wlsCString _stdLibWLS SplitNz(const char Mark); wlsCString _stdLibWLS SplitNz(const wlsCString &Mark); int sscanf(const char *format, ...)const; void _stdLibWLS Strip(void); void _stdLibWLS StripTheSlash(void); void _stdLibWLS StripHtmlEntity(void); wlsCString _stdLibWLS SubString(int beging, int len)const; wlsCString _stdLibWLS TakeAlpha(int max);//from fornt wlsCString _stdLibWLS TakeAlpha(void);//from fornt wlsCString _stdLibWLS TakeBackAlpha(int max);//from fornt wlsCString _stdLibWLS TakeBackAlpha(void);//from fornt wlsCString _stdLibWLS TakeBackNumber(int max);//from fornt wlsCString _stdLibWLS TakeBackNumber(void);//from fornt wlsCString _stdLibWLS TakeBackWord(const wlsCString &sig);//from fornt wlsCString _stdLibWLS TakeBackWord(int max);//from fornt wlsCString _stdLibWLS TakeBackWord(void);//from fornt wlsCString _stdLibWLS TakeCSWord(void);//from fornt to first ',' wlsCString _stdLibWLS TakeCSWordEnd(void);//from fornt to first ',' wlsCString _stdLibWLS TakeHexNumber(int max);//from fornt wlsCString _stdLibWLS TakeHexNumber(void);//from fornt wlsCString _stdLibWLS TakeNumber(int max);//from fornt wlsCString _stdLibWLS TakeNumber(void);//from fornt wlsCString _stdLibWLS TakeWord(const wlsCString &sig); wlsCString _stdLibWLS TakeWord(int max);//from fornt wlsCString _stdLibWLS TakeWord(void);//from fornt wlsCString& _stdLibWLS trim(void);//Change content wlsCString _stdLibWLS Trim(void)const;//return in new string wlsCString& _stdLibWLS Trimleft(void);//Change content wlsCString _stdLibWLS TrimLeft(void)const;//return in new string wlsCString& _stdLibWLS Trimright(void);//Change content wlsCString _stdLibWLS TrimRight(void)const;//return in new string void _stdLibWLS upcase(char *a,int l); //Working Function only wlsCString& _stdLibWLS Upcase(void); //Change & reyurn self wlsCString _stdLibWLS UpCase(void)const; //Change & reyurn temp wlsCString _stdLibWLS UrlEnc(void)const; wlsCString& _stdLibWLS UrlDec(wlsCString& s); wlsCString(); wlsCString(const char *prm); wlsCString(const char *prm,int len); wlsCString(const wlsCString& prm); wlsCString(double prm); wlsCString(int prm); ~wlsCString(); int _stdLibWLS xcomp(const char prm)const; int _stdLibWLS xcomp(const char *prm)const; int _stdLibWLS xcomp(char *src,int slen,char *prm,int plen)const; int _stdLibWLS xcomp(const void *prm)const; int _stdLibWLS xcomp(const wlsCString &prm)const; int _stdLibWLS xcomp(int pos,int len,const wlsCString &prm)const; wlsCString operator + (const char prm)const; wlsCString operator + (const char* prm)const; wlsCString operator + (const void* prm)const; wlsCString operator + (const wlsCString& prm)const; wlsCString& operator +=(char prm); wlsCString& operator +=(const char* prm); wlsCString& operator +=(const void* prm); wlsCString& operator +=(const wlsCString& prm); wlsCString operator - (const char prm)const; wlsCString operator - (const char* prm)const; wlsCString operator - (const void* prm)const; wlsCString operator - (const wlsCString& prm)const; wlsCString& operator -=(const char prm); wlsCString& operator -=(const char* prm); wlsCString& operator -=(const void* prm); wlsCString& operator -=(const wlsCString& prm); bool operator < (const void* prm)const; bool operator < ( char prm)const; bool operator < (const char* prm)const; bool operator < (const wlsCString& prm)const; bool operator <=(const void* prm)const; bool operator <=( char prm)const; bool operator <=(const char* prm)const; bool operator <=(const wlsCString& prm)const; wlsCString& operator = ( char prm); wlsCString& operator = (const char* prm); wlsCString& operator = (const double prm); wlsCString& operator = (const int prm); wlsCString& operator = (const wlsCString& prm); bool operator ==(const void* prm)const; bool operator ==( char prm)const; bool operator ==(const char* prm)const; bool operator ==(const wlsCString& prm)const; bool operator !=(const void* prm)const; bool operator !=( char prm)const; bool operator !=(const char* prm)const; bool operator !=(const wlsCString& prm)const; bool operator > (const void* prm)const; bool operator > ( char prm)const; bool operator > (const char* prm)const; bool operator > (const wlsCString& prm)const; bool operator >=(const void* prm)const; bool operator >= ( char prm)const; bool operator >=(const char* prm)const; bool operator >=(const wlsCString& prm)const; char& operator [](int prm); operator char*(void) const; operator double(void) const; operator int(void) const; friend class wlsCCString; friend class wlsMarkDef; friend class wlsCStrings; friend class wlsCStrAry; friend class wlsCSSQLReslut; #ifdef __BORLANDC__ wlsCString(const AnsiString& prm); wlsCString& operator = (const AnsiString& prm); wlsCString operator + (const AnsiString& prm)const; wlsCString operator - (const AnsiString& prm)const; wlsCString& operator +=(const AnsiString& prm); wlsCString& operator -=(const AnsiString& prm); operator AnsiString(void) const; #endif }; //--------------------------------------------------------------------------- class wlsCStrings{ protected://---------------------------------------- wlsCString* CSTRS; int length; void _stdLibWLS _init(void); void _stdLibWLS locate(int len); void _stdLibWLS setObjs(int len,const wlsCString* c); public: //---------------------------------------- bool _StackFIFO; bool TextFormat; wlsMarkDef* Marks; void _stdLibWLS Add(const char *prm); void _stdLibWLS Add(const double prm); void _stdLibWLS Add(const int prm); void _stdLibWLS Add(const wlsCString &prm); void _stdLibWLS Add(const wlsCString* &prm,int cnt); void _stdLibWLS AddText(const wlsCString &prm); void _stdLibWLS AddText(const char *prm); wlsCString* _stdLibWLS c_strs(void)const; void _stdLibWLS clear(void); void _stdLibWLS CStrs(const wlsCString* prm,int len); void _stdLibWLS CStrs(const wlsCStrings &prm); wlsCString* _stdLibWLS CStrs(void)const; void _stdLibWLS Delete(int pos); void _stdLibWLS Delete(int pos,int cnt); int _stdLibWLS Find(const wlsCString& x)const; wlsCString _stdLibWLS FindField(const wlsCString& fie,char *def)const; wlsCString _stdLibWLS FindField(const wlsCString& fie)const; int _stdLibWLS FindFieldIx(const wlsCString& fie)const; void _stdLibWLS FromCSV(const wlsCString& s); void _stdLibWLS FromMSV(wlsCString s); void _stdLibWLS FromSSV(char sig,wlsCString s); void _stdLibWLS FromSSV(const wlsCString& sig,wlsCString s); void _stdLibWLS FromString(const wlsCString& s); void _stdLibWLS FromTSV(const wlsCString& s); void _stdLibWLS Insert(int pos,const wlsCString &prm); void _stdLibWLS Insert(int pos,const wlsCString* prm,int cnt); bool _stdLibWLS isEmpty(void)const; void _stdLibWLS Length(int len); int _stdLibWLS Length(void)const; bool _stdLibWLS LoadFromFile(const wlsCString &fn); void _stdLibWLS pclear(void); void _stdLibWLS Pop(void); void _stdLibWLS Push(const wlsCString& prm); void _stdLibWLS Push(const char *prm); bool _stdLibWLS SaveToFile(const wlsCString &fn)const; wlsCString _stdLibWLS ToCSV(void)const;//Comma-separated values wlsCString _stdLibWLS ToMSV(void)const; wlsCString _stdLibWLS ToSSV(char sig)const;//Signed-separated values wlsCString _stdLibWLS ToTSV(void)const;//Tab-separated values void _stdLibWLS UpdateField(wlsCString fie,wlsCString dat); wlsCStrings(); wlsCStrings(const wlsCString& prm); wlsCStrings(const wlsCString* prm,int len); wlsCStrings(const wlsCStrings& prm); ~wlsCStrings(); wlsCString& operator = (const wlsCString& prm); wlsCStrings& operator = (const wlsCStrings& prm); wlsCString& operator [](const wlsCString& x); wlsCString& operator [](int prm); operator wlsCString(void); friend class wlsCStrAry; friend class wlsCSSQLReslut; friend class wlsMarkDef; #ifdef __BORLANDC__ wlsCStrings(const TStrings* prm); wlsCStrings& operator =(const TStrings* prm); operator TStrings*(void)const; void _stdLibWLS Push(const AnsiString& prm); #endif }; //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- class wlsCStrAry{ protected://---------------------------------------- void _stdLibWLS locate(int len); void _stdLibWLS setObjs(int len,const wlsCStrings* c); void _stdLibWLS _init(void); wlsCStrings* ARY; int length; public: //---------------------------------------- wlsMarkDef* Marks; int defaultFindFromColOfRow; wlsCStrAry(); wlsCStrAry(const wlsCStrings* prm,int len); wlsCStrAry(const wlsCStrAry& prm); ~wlsCStrAry(); void _stdLibWLS Length(int len); int _stdLibWLS Length(void)const; void _stdLibWLS Ary(const wlsCStrings* prm,int len); wlsCStrings* _stdLibWLS Ary(void)const; wlsCString _stdLibWLS ToHTML(void)const; void _stdLibWLS clear(void); void _stdLibWLS Add(const wlsCStrings &prm); void _stdLibWLS Add(const wlsCStrings* &prm,int cnt); void _stdLibWLS Del(int prm); void _stdLibWLS Del(int prm,unsigned cnt); bool _stdLibWLS LoadFromFile(const wlsCString &fn); bool _stdLibWLS SaveToFile(const wlsCString &fn)const; void _stdLibWLS SyncMark(void); int _stdLibWLS xFind(int row,const wlsCString &x)const; int _stdLibWLS yFind(int col,const wlsCString &x)const; wlsCStrAry& operator = (const wlsCStrAry& prm); wlsCStrings& operator [](int prm); int operator [](const wlsCString &x)const; friend class wlsCSSQLReslut; friend class wlsCSQLUnit; friend class wlsMarkDef; }; //--------------------------------------------------------------------------- class wlsCSSQLReslut:public wlsCStrAry{ public: wlsCSSQLReslut(); int _stdLibWLS RowCount(void)const; int _stdLibWLS ColCount(void)const; int _stdLibWLS FieldIndexByName(const char *fe)const; const char* _stdLibWLS FieldByName(int row,const char *fe)const; wlsCStrings* _stdLibWLS Fields(void)const; wlsCStrings* _stdLibWLS Rows(void)const; wlsCString _stdLibWLS ToHTML(void)const; friend class wlsMarkDef; friend class wlsCSQLUnit; }; //--------------------------------------------------------------------------- class wlsCSQLUnit{ public: wlsCSSQLReslut Reslut; void *db; wlsCString ErrMsg; wlsCString Host; wlsCString User; wlsCString Passwd; wlsCString DataBase; wlsCString SQL; void _stdLibWLS close_db(void); int _stdLibWLS open_db(void); int _stdLibWLS open_db(const char *database); int _stdLibWLS ExecSQL(const char *sql); int _stdLibWLS ExecSQL(const char *database,const char *sql); int _stdLibWLS ExecSQL(void); wlsCSQLUnit(); wlsCSQLUnit(const wlsCString &database); ~wlsCSQLUnit(); void _stdLibWLS clear_reslut(void); void _stdLibWLS clear(void); }; //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- class wlsMarkDef{ public: //----- Vars wlsCString FieldBeginMark; wlsCString FieldEndMark; wlsCString DataBeginMark; wlsCString DataEndMark; wlsCString RowBeginMark; wlsCString RowEndMark; wlsCString TableBeginMark; wlsCString TableEndMark; wlsCString MSV; //----- Functions wlsMarkDef(); wlsMarkDef(const wlsMarkDef &pas); ~wlsMarkDef(void); wlsCString& _stdLibWLS BindDataMSV(const wlsCString& s); wlsCString& _stdLibWLS BindFieldMSV(const wlsCString& s); wlsCString _stdLibWLS BindTBL(const wlsCStrAry& msv); wlsCString _stdLibWLS BindTBL(const wlsCSSQLReslut& res); wlsCString _stdLibWLS DrawRowFromMSV(wlsCString& s); wlsCString _stdLibWLS DrawDataFromMSV(wlsCString& s); wlsCStrAry& _stdLibWLS DrawDataFromTBL(wlsCStrAry& dest,wlsCString s); //----- Definitions }; //--------------------------------------------------------------------------- class wlsMBCRC16{ protected: public: unsigned char low; unsigned char high; wlsMBCRC16(void); wlsMBCRC16(const unsigned char l,const unsigned char h); wlsMBCRC16(wlsMBCRC16 *v); ~wlsMBCRC16(void); void _stdLibWLS Reset(void); void _stdLibWLS Cacu(char b); void _stdLibWLS Cacu(char *b, int len); void _stdLibWLS Cacu(const wlsCString b); void _stdLibWLS MakeCRC(char *b, int len); void _stdLibWLS MakeCRC(const wlsCString b); _stdLibWLS operator int(void) const; _stdLibWLS operator short(void) const; _stdLibWLS operator unsigned int(void) const; _stdLibWLS operator unsigned short(void) const; wlsMBCRC16& _stdLibWLS operator =(const wlsMBCRC16& b); bool _stdLibWLS operator ==(const wlsMBCRC16& b)const; wlsMBCRC16 _stdLibWLS operator +(char b); wlsMBCRC16 _stdLibWLS operator +(const wlsCString& b); wlsMBCRC16& _stdLibWLS operator +=(char b); wlsMBCRC16& _stdLibWLS operator +=(const wlsCString& b); }; //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- extern class wlsMarkDef ___wls_defMark; extern class wlsCString gwlsCStringErr; extern wlsCStrings gwlsCStringsErr; extern void* __wlsErrorPointer; extern int wlsCString_DefSecSize; //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- #endif -- 上帝完美无瑕 上帝造人,人有缺陷 人被造得有缺陷,人造之物必然漏洞百出 WolfLord --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.230.66.62
1F:推 deo2000:我承认蛮多东西看不懂...GG了 12/01 18:48
2F:推 waterdisney:不好意思 想请问一下版主,您这篇回文跟codejob版有何 12/01 22:00
3F:→ waterdisney:关连吗? 12/01 22:01
4F:推 waterdisney:感觉这样下去,等等是不是用C/php/python/java 的 每 12/01 22:03
5F:→ waterdisney:个人都可以回一篇在版上..然後说 「现丑现丑」呢? 12/01 22:04
6F:→ dryman:其实我不太懂为何要自已刻String..c++的不够用还有boost.. 12/01 22:14
7F:→ WPC001:其实我觉得这家伙怪怪的耶... (有人认同吗?) 12/01 22:47
8F:→ WPC001:为了做这麽简单的东西, 去刻个字串处理程式库... 12/01 22:48
9F:→ WPC001:然後还说可能不收钱... 这是来干啥的? 12/01 22:49
10F:推 ericinttu:每个人都有自己惯用的工具或写法.可以看到别人喜欢用的 12/01 22:50
11F:→ ericinttu:方式也不赖,欣赏一番也是好事. 12/01 22:50
12F:→ x000032001:你们不懂版主的绝妙之处 一个简单的东西搞得自己很忙 12/02 00:07
13F:→ x000032001:才会受到客户的重用(误 12/02 00:08
14F:推 LaPass:这应该是已经写好备用,要用时剪下贴上就能跑的吧? 12/02 00:11
15F:推 ericinttu:其实 x000032001 没有误. 12/02 00:16
16F:→ WolfLord:字串物件当然不是为了做这种东西写的,只是这个物件可以 12/02 00:24
17F:→ WolfLord:拿来用。 12/02 00:25
18F:→ WolfLord:另外,可以看得出来2-15楼统统不懂C++ ,这篇根本不是程 12/02 00:26
19F:→ WolfLord:式,这只是物件的宣告,就跟说明书一样的东西而已。 12/02 00:27
20F:推 ericinttu:是啊,不懂. 12/02 00:35
21F:推 waterdisney:不知道WolfLord的发言有没有涉及人身攻击呢? 12/02 02:10
22F:→ waterdisney:希望WolfLord发言批评 2~15楼的时候,可以提出我们不会 12/02 02:10
23F:→ waterdisney:C++的举证~ 感谢! 12/02 02:11
24F:→ WolfLord:我不是已经说了吗? 这根本不算CODE,而是C++的物件宣告 12/02 02:16
25F:→ WolfLord:可是上面每一个都说是CODE 我也只好推定各位真的不懂 12/02 02:17
我还是用EDIT来说明好了: 这篇最主要的目的在於说明、回答 "为何说是自己写的"字串"而不是"function"呢?" 因为C++中 字串 是一个物件,他是由上面宣告中的那麽多FUNCTION组再同一个资料结 构中互相连动运作的一群自动程式(C中以NAMESPACE封装的群组FUNCTION与DATA) 上面的 "宣告" 之所以说他不是程式码,因为其中没有任何一行是用来作功的叙述。 完完全全只有物件的内容宣告(虚码)。而指着宣告大喊:好臭好长的程式,那我怎 麽去认定会这样反应的人真的懂得什麽叫做OOP,真的懂得什麽是C++ ? 以这个字串物件要达成原PO的要求程式码只要: void main(int argc, char *argv[]){ if(argc > 2){ class wlsCString b,o;b.LoadFromfile(argv[1]); while(!b.isEmpty()){o+=(b.TakeNumber()+"\n");} o.SaveToFile(argv[2]); }else{ cout<<"fielters.exe in_file out_file";} } -- 我从没禁止讨论与JOB有关的程式,只是希望大家讨论归讨论不要掀笔战就好。另外 ,希望讨论的内容尽量与标题相符。不要标题下岔题又岔题。(道德劝说) 对了,想到一点要提醒:讨论发文酸人开玩笑只要不翻脸都可以默许(没人检举为 前提),但是推文仍然严禁未经许可的嘘文。 ※ 编辑: WolfLord 来自: 125.230.66.62 (12/02 02:53)
26F:推 dryman:我是知道这只是header不是程式,所以才问为何要自己刻 12/02 06:57
27F:→ dryman:string....:P 12/02 06:58
28F:→ dryman:而且几乎所有能overload的东西都overload了orz 12/02 06:59
29F:→ x000032001:看到#define wlsStringH就知道这是header了阿 12/02 09:11
30F:→ x000032001:可以把我去掉吗 被当成不会我觉得有点无奈耶 12/02 09:13
31F:推 dryman:我也觉得被当成不会很无奈..XD 12/02 09:57
32F:→ WolfLord:DRYMAN:原本是因为要跨平台,然後每次做案子就加一点... 12/02 17:09
33F:→ WolfLord:另外,STL的字串记忆体处理有问题,拿来做SERVER长时间 12/02 17:10
34F:→ WolfLord:在SOC下RUN会出毛病(不能没有OS) 12/02 17:11
35F:推 pichubaby:这样看来案子也比较不会被别人抢走... 12/03 05:21
36F:推 pingsky:第一次听说[不懂C++]可以扯到人身攻击 @@ 12/03 11:28







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP