對string的一些擴充套件函式

2021-09-07 12:16:15 字數 2177 閱讀 9314

對string作了一些擴充套件,包含string轉化為int、string轉化為double、string轉化為bool、列印系統當前時間。但沒有解決資料溢位的問題,請大神幫忙解決!

//標頭檔案

/*part of inte***ce about string;

*it follow the function simply ,no complex situation exist;

*so it should be modify before you use it;

*overflow problem is need to be solved;

*/#ifndef fstring

#define fstring

#include #include #include using namespace std;

//declare

extern bool stringtoboolvalid;

extern bool stringtointvalid;

extern bool stringtodoublevalid;

//split the string with delim,default delim is ' '

bool split(vector& ,const string str,const char delim=' ');

//convert string to int

int stringtoint(const string& );

//convert string to double

double stringtodouble(const string& );

//convert string to bool

bool stringtobool(const string& );

//print current time of this system

bool printsystemtime(ostream& output=cout);

//delete space

void deletespace(string& str);

#endif //fstring

//原始檔

#include "fstring.h"

#include #include //definition

bool stringtoboolvalid=true;

bool stringtointvalid=true;

bool stringtodoublevalid=true;

//切割字串函式

bool split(vector& vecstr,const string str,const char delim)

returnint=returnint*10+str[i]-'0';

}//假設僅僅有乙個正號或負號,輸出也是零

if(flagplusminus)

returnint*=(-1);

return returnint;

}double stringtodouble(const string& str)//轉化成浮點數

double returndouble(0);

size_t i=0;

size_t flag=2000;

int numpoint=0;//小數點出現次數

int decimalnum(0);

bool flagplusminus=0;

if(str[0]=='+')

else if(str[0]=='-')

for(;i1)

flag=i;

continue;

} else if(str[i]<'0' || str[i]>'9')

if(i>flag)

returndouble=returndouble*10+str[i]-'0';

} for(int t=0;t1 || str.empty())

if(str=="1")

return 1;

else

return 0;

}bool printsystemtime(ostream& output)

else

iter++;

}}

String一些函式的用法

1 substring 用法 這個函式返回第乙個引數中從第二個引數指定的位置開始 第三個引數指定的長度的子字串。該字串中的每個字元都被認為具有數字位置 第乙個字元的位置是 1,第二個字元的位置是 2,依此類推。如果未指定第三個引數,將返回從第二個引數指定的位置開始直到字串結尾的子字串。如果引數不是字...

string類的一些成員函式

1 const char data data 函式返回指向自己的第乙個字元的指標.由於data 函式返回的是const char 所以不能直接通過指標修改返回的字串的值,如果要修改,必須把型別轉化為char 2 const char c str c str 函式返回乙個指向正規c字串的指標,內容與本...

對指標的一些 運算(自行擴充套件 )

指標運算 include using namespace std int main int p a 注釋為意料輸出 cout p p 疑惑 使用電腦進行執行時出現第乙個是1 0輸出,但是用手機編譯器卻能得到意料中的結果。型別1 對於 與字尾 運算子,字尾 的運算子高於 對於兩符號在變數名左右兩邊 一...