第一章 00 StringUtil.cpp和StringUtil.hh分析
1 /* 2 * StringUtil.hh 3 * 4 * Copyright 2002, Log4cpp Project. All rights reserved. 5 * 6 * See the COPYING file for the terms of usage and distribution. 7 */ 8 头文件的说明,以及与版权相关的说明一般都会放置在文件的开始位置
9 #ifndef _LOG4CPP_STRINGUTIL_HH //为了防止代码被多重包含 10 #define _LOG4CPP_STRINGUTIL_HH 11 12 #include "PortabilityImpl.hh" 13 #include <string> 14 #include <vector> 15 #include <climits> 16 #include <stdarg.h> 17 18 namespace log4cpp { 19 20 class StringUtil { 21 public: 22 23 /** 24 Returns a string contructed from the a format specifier 25 and a va_list of arguments, analogously to vprintf(3). 26 @param format the format specifier. 27 @param args the va_list of arguments. 28 **/ 29 static std::string vform(const char* format, va_list args); 30 31 /** 32 Returns a string identical to the given string but without leading 33 or trailing HTABs or spaces. 34 **/ 35 static std::string trim(const std::string& s); 36 37 /** 38 splits a string into a vector of string segments based on the 39 given delimiter. 40 @param v The vector in which the segments will be stored. The vector 41 will be emptied before storing the segments 42 @param s The string to split into segments. 43 @param delimiter The delimiter character 44 @param maxSegments the maximum number of segments. Upon return 45 v.size() <= maxSegments. The string is scanned from left to right 46 so v[maxSegments - 1] may contain a string containing the delimiter 47 character. 48 @return The actual number of segments (limited by maxSegments). 49 **/ 50 static unsigned int split(std::vector<std::string>& v, 51 const std::string& s, char delimiter, 52 unsigned int maxSegments = INT_MAX); 53 /** 54 splits a string into string segments based on the given delimiter 55 and assigns the segments through an output_iterator. 56 @param output The output_iterator through which to assign the string 57 segments. Typically this will be a back_insertion_iterator. 58 @param s The string to split into segments. 59 @param delimiter The delimiter character 60 @param maxSegments The maximum number of segments. 61 @return The actual number of segments (limited by maxSegments). 62 **/ 63 template<typename T> static unsigned int split(T& output, 64 const std::string& s, char delimiter, 65 unsigned int maxSegments = INT_MAX) { 66 std::string::size_type left = 0; 67 unsigned int i; 68 for(i = 1; i < maxSegments; i++) { 69 std::string::size_type right = s.find(delimiter, left); 70 if (right == std::string::npos) { 71 break; 72 } 73 *output++ = s.substr(left, right - left); 74 left = right + 1; 75 } 76 77 *output++ = s.substr(left); 78 return i; 79 } 80 }; 81 } 82 83 #endif // _LOG4CPP_STRINGUTIL_HH
一、关于#include的话题
#include <iostream>
#include <iostream.h>
两行代码有什么区别呢
1 #include <iostream.h> 2 3 using namespace std; 4 5 int main(int argc,char**argv) 6 { 7 cout<<"hi guys"<<endl; 8 9 return 0; 10 }
编译器会发出报警哦:
![](data:image/png;base64,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)
看来是C++标准的问题,新的代码逐渐不再支持<X.h>的包含方式,但是该警告信息可以在编译器中用-Wno-deprecated选项关闭的。deprecated这里的意思是“过时了”
至于是否在头文件中要用include包含头文件,这个可以开新的话题了,留待以后补上吧。。。。。
嗯哼。。。LINE16还没解释,为毛????
stdarg.h是C语言中C标准函数库的头文件,stdarg是由standard(标准) arguments(参数)简化而来,主要目的为让函数能够接收可变参数。
C++的cstdarg头文件中也提供这样的功能;虽然与C的头文件是兼容的,但是也有冲突存在。
这里引出了两个标准函数库:C标准函数库和C++标准函数库。额,这也是两个巨大的Topics,还是度娘吧。。。。。由于这里引用了C标准函数库的头文件,
So,用了#include <stdargs.h>的写法。至于。。。至于哪个头文件属于C++标准函数库,哪个属于C标准函数库呢,Windows平台的IDE开发环境发挥了积极的优势。
See See吧,
![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbQAAACJCAIAAADLxVrWAAAMXElEQVR4nO3dPYsjyQGA4RLc/aANNt60mMyw4GiiS8YOHAzlwLBBZ/MTxEEH5qIFHyu8GIbzmq1gZSbYYBObk/FhxQv6AxeVg5K6q7uqv6SWqmr0PgzHbKtV3Vq496q/dOLXiYwx9p8A8IwJ4ggAPuIIAAHEEQACiCMABBBHAAgYFceiKIgjgKsyHMeiKIgjgGtDHAEgYCCONovEEcC1IY4AENAXx6qJxBHAtRmIo4s4Arge3MoDAAHEEQACeEIGAAKIIwAEEEcACCCOABBAHAEggDhemhBCCBF7LwAMII6XRhyBLMwRx10pV9pslFxvo3yGvBBHIAtzPD64K+VKb9dSbdqj65U4sZjbtRSFEMUR42hVCLEsT9n6rPb7QxyBLIz64omBmeNGiY44zmW7lkdFVqs54rhdS1EoPbRauRxcRyviCGTi1DjqlbAzu/3PIUbhGd+ulIUQSyn36zdqUg+1LMulLHf1S6042sFti+276lftJgohCqE2Thw3yt/JYfsdbqxfLqtxpLQvORs9bLo5grM/xBHIwtjD6v6Zo1xv9aqRMysw49uVstiv6b6qV0KsdPUuUfTF0S6pA1Sf7tSqfqN7WK2VE+LtWo7pY7kUrd0I7LMzTmjmGNgf4ghkYezMseeco+3FhDgeItiIWm+txsaxdVFoV+5ndu60MTRp9TfXfZZTq45BAnEM7Q9xBLIw9mp1RxzdUgQumyQUx2qjo5XLoatAGzUwcySOQLZOjKMxh04FL0eMjmPrurZW7mm7jjjul+xKWUe5cfjsHvaWS3HE9SL/yLpxMrTZ3PqljTpMKgP7QxyBLMxwWG0PqJtxbM8o97Gork6sdHWoW1WvvtBRl7FjHHeoQpZrVY/jHkGvVPO049jD6obmNRl3J9uD1Jt2lnv7Y+6+I45A+ob/B1uDF2T0Spa7eW6auQbMHIEs8PjgpRFHIAvE8dKII5AF4nhpxBHIAnEEgADiiEv48e33sXcBmIY4xrH7urmqH+KI7BDHOHZfJ9+S/uL3/8z0hzgiR8QxDuIIJG6Gm8BxBOIIJG6GxwdxBD+O90/31S0+N483/u0+R7fpxLefPiBxRI7m+CZwTNcVR+voOHatNvLtk/pIHPG8Ecc43Dg+fHl48/nN/dP93ae724+3rz+8vnm8efX+1ct3L91EEkfgkub4JnBM58ZxsVgsFgs7c7S/25lj61kaP0+tl4Jr+gv9t7zwjpT9wbu2ThzxXHHOMY7Tzzn6S/yFxolgzy+D7+rZUM86xBFZI45xzHJBxl/e9UcTmhX2Rza4nDjiehDHOGY852ia4Tti5jhmTkoccW24zzGOc5xzDE76/NWC+9M/ctcKY+aYxBGZ4gmZOC55n+PUH9M9FT3uhzgiR8QxDj+O7jwx+J2PF4vjC++8JHHEFSKOcfD4IJA44hgHcQQSRxzjII5A4ohjHMQRSBxxjOOIOOaLOCJHxDEO4ggkbuwXT/CEzLxCt/L82f60fn8GiCNyNHbmSBzn1YpjMIVz9TH6/ymbOCJHo+LI44OzO1McuyJIHIGpiGMcfhwXC+IIJGQ4jq3vAzfEcQ5VHG0Bv/32h+BqPX0UjtaS4Grz7ftkxBE5Io5xVHH85psfegvYF8fBhW43j9/XkxFH5Gj4K8taSwxxnIN/WO1PHgcPq4PzxOAfiSMwFXGMY8YLMm74iCMwF+IYx+lx9M85ussHV7sk4ogc8YRMHNwEDiSOOMbB44NA4ohjHMQRSBxxjIM4AokjjnEQRyBxxDEO4ggkjjjGQRyBxBHHOIgjkLjhm8Ddb7oljnMhjkDiBr4J3P/dEMc5+HG8f7qvHmK5ebyZ8YGWwadoet7V9fUWk3aPOCJHxDGOrjhaR8dx/Pc59o8/Jp3j94o4IkfEMQ43jg9fHt58fnP/dH/36e724+3rD69vHm9evX/18t3LqYkkjsBcOOcYhxvHxWKxWCzszNH+bmeO/UevR3/ZbdeSnpF7tj7ywxJHZIeZYxynn3PsOhsY/OOkX7oG7x+5B3FEjohjHLNckAnOE4N/7P8lOJcc3PTINQ1xRJ6IYxwznnPsidrUCWPXOD0rEEc8V5xzjOMc5xzd5T2r9SzpWSG4aX9zXR+WOCI7PCETxyXvc4yOOCJHxDGO0DeBt+duF9+pcyGOyBFxjIPHB4HEEcc4iCOQOOIYB3EEEkcc4yCOQOKIYxzEEUjcHHHclXKlzUbJ9TbKZ8gRcQQSN8dN4LtSrvR2LZX377teiROLuV1LUQhRHDGOVoUQy/KUrZ8PcQQSN8fjgxslOuI4l+1aHhVZreaI43YtRaH00Grlcnidih/HX35S1b2NP7+7vfB9jpPurAw+i90zAnFEjk6No14JO7Pb/xxiFJ7x7UpZCLGUcr9+oyb1UMuyXMpyV7/UiqMd3LbYvqt+1W6iEKIQauPEcaP8nRy23+HG+uWyGkdK+5Kz0cOmGyvL9fbwF7L/yF1xtM4ax66Rp27RX5844jmZZ+Yo11u9auTMCsz4dqUs9mu6r+qVECtdvUsUfXG0S+qJan26U6v6je5htVZOiLdrOaaP5VK0diOwz844nTNH22W75kbZ3XbjuNXF//7xp19+Uv99/MN//va7zV+/+/nd7b//8tt/vf3NORJJHIExxp5z7Imj7cWEOB4i2Ihab63GxrF1UWhXykOSRHNm13+YbGd5HQfyWnUM0hNHfyj/iyfszNH+bmeOpz9EGPwKCX/YMYfJwXf5mwvuBnFEjsZere6Io1uKwGWThOJYbXS0cjl0FWijRs4c++NoneOcY3CQrsZN+iU4OHHEc3JiHI05dCqYhtFxbF3X1so5bRccp16yK2Ud5cbhs3vYWy7FEdeL/CPrxsnQZnPrlzaqMamMF0dz2hfi+uMQR1yPGc452gPqZhzbM8p9LKoLFytdHepW4agvdNRl7BjHHaqQ5VrV47hH0CvVPO049rC6oXlNxt3J9iD1pqvl7f2vAn3hc449URsTR2aOuEIz3OeoV7LczXPTzPWIdc7RXd6zWtc5xyD/Vf/DEkdkh8cH4wgcVv/9j+IMh9UpII7IEXGM48Qvu+2Zx80y5ZwXcUSOiGMcPD4IJI44xkEcgcQRxziII5A44hgHcQQSRxzjII5A4ohjHMQRSFw7ju793r+O/LJbTEccgcSJng6O/coyTOfH8f7pvro58ebxZsYbFf1nXeYdcBBxRI76Zo7E8Xy64mgdHceud00dbXB94ohnjzjG4cbx4cvDm89v7p/u7z7d3X68ff3h9c3jzav3r16+ezlX1IgjMBVxjMP/4gk7c7S/25lj/9Gr/6Rg8C3BdXoG6Rqna+sjPyxxRHaIYxynn3MMruCX0V9+xDo9GxrTR+KIHBHHOGa5IBOcJwb/SByBqYhjHDOeczwxfMQRCOI+xzjOcc7RXd61Ws9pyuAbq9+Dm/bf1fVhiSOywxMycVzyPsfoiCNyRBzjOPHLbvNCHJEj4hgHjw8CiSOOcRBHIHHEMQ7iCCSOOMZBHIHEEcc4iCOQOOIYB3EEEjdwE7i/xMwSRyVMuT197/NFHIHEDXzZbWsJM8e5EEcgcafNHEtphDDaGGOMEkY054NSGCGMEEZKI8vGW1prbsv9avYlodovCWGENKVqv7GlZxytDgurEbSzsjS63P+y9davdr7rc0ln99xBwts1hjgCyTv5sLqU+zgaY7Sq//0vZf278vrivmpty7op9au6XmjDN3gwHh7HGKPr/ZSHoNs+apswabbVW3QjrGUz7sHPJZ0Wb0vn7cHtEkcgdWeLo+2OP4Or3uXHUR0GqsbRql4YfJcvOI5xZ6Cinu0ava9b9S67CXe61/4IHZ/LCd9+HN2zXbP7urmqH+KI7Jwvjg6tRs0cB+PYNf7gOO4MtLHP3XF0t9vF/VzSGb/eRHi7P779/gp/hv8+gZTMEUcboNZhr2yed2u1ZmQcG4e3euxhdf84dj/1YcxgHI03E6x0fS7ZPHUgVe92W9frdf1S13Y7tM4ctE4GuCdX9WGz1fD2XEJNKyGEaP1nDLhWJ8ex64KJHDwmdV6qBlG6PqStJo/Vympo5tgzTnUhSEij7HWkw87Icv9Gpfer7U87hj5C+HMZIw/Dtq69BLZrAkNVC7u226GUjdW1+5oeGl4ZJeo+aiWEGDNhBq5CpPscjzPmnGMsrcPq/GglZLJ/u8Dl5fCETH3rTKpHfOnvIYCJcogjAFwccQSAgP8DQzEB3LJtH10AAAAASUVORK5CYII=)
自动补齐功能,提示的是.h文件哦。。。。
![](data:image/png;base64,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)
这个是没有.h的。
好了,不要在这个话题上纠结了。Go on .......睡觉鸟。。。。。