发几个c++常用小工具的函数(续)

来源:互联网 发布:java 导出本地excel 编辑:程序博客网 时间:2024/06/07 03:25

转自:http://blog.csdn.net/wallwind/article/details/6736311


view plain
  1. 笔记一直再做项目,随时都会用到一些函数和方法,现在属于一种原始积累状态,将来用到的时候就随便拿来用。省时又省力。。后续还会很多这样的方法。大家也可以去找找。  
view plain
  1.    
view plain
  1. //取当前日期  
  2. string getCurDate()  
  3. {  
  4.     time_t nowtime;  
  5.     time(&nowtime);    //取当前时间值  
  6.     struct tm *tPtr;      
  7.     tPtr = localtime(&nowtime);  
  8.   
  9.     char dateStamp[32];  
  10.     ACE_OS::sprintf(dateStamp, "%04d%02d%02d", tPtr->tm_year+1900 ,tPtr->tm_mon+1,tPtr->tm_mday);  
  11.           
  12.     return dateStamp;  
  13. }  
  14. //取得当前时间  
  15. string getCurTime()  
  16. {  
  17.     time_t nowtime;  
  18.     time(&nowtime);     
  19.     struct tm *tPtr;      
  20.     tPtr = localtime(&nowtime);   
  21.   
  22.     char timeStamp[15];  
  23.     memset(timeStamp, 0x00, 15);  
  24.     ACE_OS::sprintf(timeStamp, "%02d%02d%02d", tPtr->tm_hour,tPtr->tm_min,tPtr->tm_sec);  
  25.           
  26.     return timeStamp;  
  27. }  
  28. //int型转string 型  
  29. string intToString(int value)  
  30. {  
  31.     char tmpString[15];  
  32.     memset(tmpString, 0x00, 15);  
  33.     sprintf(tmpString, "%d", value);  
  34.     return  tmpString;  
  35. }  
  36. //将字符串处理为小写。  
  37. void toLower(string &strTmp)  
  38. {  
  39.     for (unsigned int i = 0; i < strTmp.length(); i++)  
  40.     {  
  41.         strTmp[i] = tolower(strTmp[i]);  
  42.     }  
  43.     return;  
  44. }  
  45. ///根据分隔标记flag将字符串放入。。。。  
  46. int getItem(string &msg ,  char flag, vector<string> &line)  
  47. {  
  48.     try  
  49.     {  
  50.         if (line.size() != 0)  
  51.         {  
  52.             line.clear();  
  53.         }  
  54.           
  55.         if (msg.length() == 0)  
  56.         {  
  57.             return 0;  
  58.         }  
  59.   
  60.         char *tmpMsg = &msg[0];  
  61.   
  62.         int begin = 0;  
  63.         int end = 0;  
  64.         string tmp;  
  65.         for (unsigned int i = 0; i < msg.length(); i ++)  
  66.         {  
  67.             if (tmpMsg[i] == flag)  
  68.             {  
  69.                 end = i;  
  70.             }  
  71.             else  
  72.             {  
  73.                 continue;  
  74.             }   
  75.   
  76.             if ((end-begin)> 0)  
  77.             {               
  78.                  tmp = string(&tmpMsg[begin], end-begin);  
  79.             }  
  80.             else  
  81.             {  
  82.                 tmp = "";  
  83.             }  
  84.             begin = end+1;                 
  85.             line.push_back(tmp);  
  86.            
  87.         }  
  88.         if ((msg.length()-begin)> 0)  
  89.         {               
  90.             tmp  = string(&tmpMsg[begin], msg.length()-begin);  
  91.             line.push_back(tmp);  
  92.         }       
  93.   
  94.     }  
  95.     catch(...)  
  96.     {  
  97.         ACE_DEBUG(( _INFO ACE_TEXT("  getItem execpaction:[%s].\n"), msg.c_str()));  
  98.         return -1;  
  99.     }  
  100.     return 0;  
  101. }  
  102. ////输出vector的内容。  
  103. void dispVector(const vector<string> &vecTmp)  
  104. {  
  105.     if (vecTmp.size() == 0)  
  106.     {  
  107.         ACE_DEBUG(( _INFO ACE_TEXT( " vector is null\n" )));  
  108.         return;          
  109.     }  
  110.       
  111.     for (unsigned int i = 0 ; i < vecTmp.size(); i++)  
  112.     {  
  113.         ACE_DEBUG(( _INFO ACE_TEXT( "  [%25s]\n" ), vecTmp[i].c_str()));          
  114.     }  
  115.   
  116.     return ;  
  117. }  
  118. ////返回num后的字符串  
  119. string lastStr(string &from, int num)  
  120. {  
  121.     if (from.length() <= (unsigned int)num)  
  122.     {  
  123.         return from;  
  124.     }  
  125.     else  
  126.     {  
  127.         return from.substr(from.length()-num, num);  
  128.     }  
  129. }  
  130.   
  131. string leftFullChar(string &from, int count, char flag)  
  132. {  
  133.     if (from.length() > (unsigned int)count)  
  134.     {  
  135.         return from ;  
  136.     }  
  137.   
  138.     int fullCount  = (int)from.length() - count;  
  139.     string strTmp(fullCount, flag);  
  140.     strTmp += from;  
  141.     return strTmp;  
  142. }  
  143.   
  144. string rightFullChar(string &from, int count, char flag)  
  145. {  
  146.     if (from.length() > (unsigned int)count)  
  147.     {  
  148.         return from ;  
  149.     }  
  150.   
  151.     int fullCount  = (int)from.length() - count;  
  152.     string strTmp(fullCount, flag);  
  153.     return from+strTmp;  
  154. }  

原创粉丝点击