第一章 00 StringUtil.cpp和StringUtil.hh分析
/*
* StringUtil.hh
*
* Copyright 2002, Log4cpp Project. All rights reserved.
*
* See the COPYING file for the terms of usage and distribution.
*/
头文件的说明,以及与版权相关的说明一般都会放置在文件的开始位置 #ifndef _LOG4CPP_STRINGUTIL_HH //为了防止代码被多重包含
#define _LOG4CPP_STRINGUTIL_HH #include "PortabilityImpl.hh"
#include <string>
#include <vector>
#include <climits>
#include <stdarg.h> namespace log4cpp { class StringUtil {
public: /**
Returns a string contructed from the a format specifier
and a va_list of arguments, analogously to vprintf(3).
@param format the format specifier.
@param args the va_list of arguments.
**/
static std::string vform(const char* format, va_list args); /**
Returns a string identical to the given string but without leading
or trailing HTABs or spaces.
**/
static std::string trim(const std::string& s); /**
splits a string into a vector of string segments based on the
given delimiter.
@param v The vector in which the segments will be stored. The vector
will be emptied before storing the segments
@param s The string to split into segments.
@param delimiter The delimiter character
@param maxSegments the maximum number of segments. Upon return
v.size() <= maxSegments. The string is scanned from left to right
so v[maxSegments - 1] may contain a string containing the delimiter
character.
@return The actual number of segments (limited by maxSegments).
**/
static unsigned int split(std::vector<std::string>& v,
const std::string& s, char delimiter,
unsigned int maxSegments = INT_MAX);
/**
splits a string into string segments based on the given delimiter
and assigns the segments through an output_iterator.
@param output The output_iterator through which to assign the string
segments. Typically this will be a back_insertion_iterator.
@param s The string to split into segments.
@param delimiter The delimiter character
@param maxSegments The maximum number of segments.
@return The actual number of segments (limited by maxSegments).
**/
template<typename T> static unsigned int split(T& output,
const std::string& s, char delimiter,
unsigned int maxSegments = INT_MAX) {
std::string::size_type left = ;
unsigned int i;
for(i = ; i < maxSegments; i++) {
std::string::size_type right = s.find(delimiter, left);
if (right == std::string::npos) {
break;
}
*output++ = s.substr(left, right - left);
left = right + ;
} *output++ = s.substr(left);
return i;
}
};
} #endif // _LOG4CPP_STRINGUTIL_HH 一、关于#include的话题
#include <iostream>
#include <iostream.h>
两行代码有什么区别呢
#include <iostream.h> using namespace std; int main(int argc,char**argv)
{
cout<<"hi guys"<<endl; return ;
}
编译器会发出报警哦:
aaarticlea/png;base64,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" alt="" /> 看来是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吧,
aaarticlea/png;base64,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" alt="" />
自动补齐功能,提示的是.h文件哦。。。。 aaarticlea/png;base64,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" alt="" />
这个是没有.h的。
好了,不要在这个话题上纠结了。Go on .......睡觉鸟。。。。。
第一章 00 StringUtil.cpp和StringUtil.hh分析的更多相关文章
- 《Django By Example》第一章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:本人目前在杭州某家互联网公司工作, ...
- 第一章.C语言简介
C语言第一章 C语言简介 目录 一.C语言介绍 二.C语言特点 三.Hello World 四.转义符 五.占位符 六.俄罗斯方块游戏 七.文件下载 一.C语言介绍 C是一种通用的编程语言,广泛用 ...
- PRML读书会第一章 Introduction(机器学习基本概念、学习理论、模型选择、维灾等)
主讲人 常象宇 大家好,我是likrain,本来我和网神说的是我可以作为机动,大家不想讲哪里我可以试试,结果大家不想讲第一章.估计都是大神觉得第一章比较简单,所以就由我来吧.我的背景是统计与数学,稍懂 ...
- 【转】apue《UNIX环境高级编程第三版》第一章答案详解
原文网址:http://blog.csdn.net/hubbybob1/article/details/40859835 大家好,从这周开始学习apue<UNIX环境高级编程第三版>,在此 ...
- 第一章 搭建Qt开发环境
第一章 搭建Qt开发环境 1.到http://download.qt-project.org/archive/上下载Qt的源码包.我下载的是qt-everywhere-opensource-src-4 ...
- C++ Primer 笔记 第一章
C++ Primer 学习笔记 第一章 快速入门 1.1 main函数 系统通过调用main函数来执行程序,并通过main函数的返回值确定程序是否成功执行完毕.通常返回0值表明程序成功执行完毕: ma ...
- 《SQL CookBook 》笔记-第一章-检索记录
目录 第一章 检索记录 1.1检索所有行和列 1.2筛选行 1.3查找满足多个查询条件的行 1.4筛选列 1.5创建列的别名 1.6 在where子句中引用别名列 1.7 串联多列的值 1.8 在se ...
- web前端学习python之第一章_基础语法(一)
web前端学习python之第一章_基础语法(一) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...
- 20172327 2018-2019-1 《第一行代码Android》第一章学习总结
学号 2018-2019-1 <第一行代码Android>第一章学习总结 教材学习内容总结 - Android系统架构: 1.Linux内核层 Android系统是基于Linux内核的,这 ...
随机推荐
- 让memcached和mysql更好的工作
这次是Fotolog的经验,传说中比Flickr更大的网站,Fotolog在21台服务器上部署了51个memcached实例,总计有254G缓存空间可用,缓存了多达175G的内容,这个数量比很多网站的 ...
- BinaryReader和BinaryWriter的leaveOpen参数 z
在.NET 4.5后,微软为BinaryWriter和BinaryReader类型的构造函数中加入了leaveOpen参数,当该参数为true后,BinaryReader或者BinaryWriter关 ...
- 设计模式_State_状态模式
形象例子: 跟MM交往时,一定要注意她的状态哦,在不同的状态时她的行为会有不同,比如你约她今天晚上去看电影,对你没兴趣的MM就会说“有事情啦”,对你不讨厌但还没喜欢上的MM就会说“好啊,不过可以带上我 ...
- NOIP2014 飞扬的小鸟
3. 飞扬的小鸟 (bird.cpp/c/pas) [问题描述] Flappy Bird 是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的 ...
- 设计原则 Design Principle
Design Principle设计原则 最近由于碰到要参与设计一个音频处理系统,有人提议用一个大的全局变量结构体来做状态信息交流的地方,引起了我对设计一个系统的思考,于是找到了如下资料,当然,关于这 ...
- StackOverflow:7个你从未见过的Java问题最佳答案
本文由码农网 – 李俊英原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 对开发人员来说, StackOverflow就像一个金矿.对具体的问题,它能帮我们找到最有用的答案,并且我们也 ...
- Oracle-PLSQL Developer使用笔记
1.新建菜单 command window ---->命令行,执行sql语句 sql window ---->执行sql语句,可导出CSV,TSV,HTML,XML等类型文件 report ...
- iOS 详解NSXMLParser方法解析XML数据方法
前一篇文章已经介绍了如何通过URL从网络上获取xml数据.下面介绍如何将获取到的数据进行解析. 下面先看看xml的数据格式吧! <?xml version="1.0" enc ...
- Bugs及解决方案列表
Bugs及解决方案列表(以下实例默认运行环境都为Standard mode): 如何在IE6及更早浏览器中定义小高度的容器? 方法: #test{overflow:hidden;height:1px; ...
- 4.22 注入js需要加 addjavascriptinterface
由于项目需要,再次使用到了android的webview,webview要加载的页面是html5的页面: 需要有点击webview中的控件的交互,所以需要在android应用中注入一个js对象: 通过 ...