随笔分类 -  C/C++

摘要:fromhttp://blog.csdn.net/sctq8888/article/details/10031219(1), 超时(timeout)libcurl 是 一个很不错的库,支持http,ftp等很多的协议。使用库最大的心得就是,不仔细看文档,仅仅看着例子就写程序,是一件危险的事情。我的程... 阅读全文
posted @ 2014-12-01 15:58 小 楼 一 夜 听 春 雨 阅读(7149) 评论(0) 推荐(0)
摘要:c++中一次读取整个文件的内容的方法:读取至char*的情况std::ifstream t; int length; t.open("file.txt"); // open input file t.seekg(0, std::ios::end); // go to the e... 阅读全文
posted @ 2014-10-16 11:38 小 楼 一 夜 听 春 雨 阅读(80912) 评论(2) 推荐(4)
摘要:转自http://blog.csdn.net/langresser_king/article/details/7459367 iconv(http://www.gnu.org/software/libiconv/)是一个开源的字符编码转换库,可以“方便”的完成几乎所有的编码转换工作。说简单是因为,它... 阅读全文
posted @ 2014-06-05 13:59 小 楼 一 夜 听 春 雨 阅读(2125) 评论(0) 推荐(0)
摘要:在“使用 库创建关联容器”一文中,我们讨论了标准库中的 map 关联容器。但那只是 map 容器的一部分。标准库还定义了一个 multimap 容器,它与 map 类似,所不同的是它允许重复键。这个属性使得 multimap 比预想的要更有用:比如在电话簿中相同的人可以有两个以上电话号码,文件系统中可以将多个符号链接映射到相同的物理文件,或DNS服务器可以将几个URLs映射到相同的IP地址。在这些场合,你可以象下面这样:1.// 注: 伪码2.multimap phonebook;3.phonebook.insert("Harry","8225687") 阅读全文
posted @ 2014-03-29 20:09 小 楼 一 夜 听 春 雨 阅读(747) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/bichenggui/article/details/4674900list::splice实现list拼接的功能。将源list的内容部分或全部元素删除,拼插入到目的list。函数有以下三种声明:void splice ( iterator position, list& x ); //void splice ( iterator position, list& x, iterator i );void splice ( iterator position, list& x, iterator first, iterator l 阅读全文
posted @ 2014-01-17 14:32 小 楼 一 夜 听 春 雨 阅读(7684) 评论(0) 推荐(0)
摘要:一. #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语 阅读全文
posted @ 2013-12-28 17:56 小 楼 一 夜 听 春 雨 阅读(833) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/ixnehc/archive/2008/09/02/1282356.html*.先说内部结构.vector就是一块连续的内存,这块连续的内存会随着成员的添加而不断的re-alloc,而且在重分配的时候,分配的内存的大小会 比实际需要的多一些,下次再添加成员时,就可以添加在这些多余的空间里,而不会导致每添加一个成员就需要重分配内存.vector封装的是一块连续的内 存,这是我最喜欢它的地方,因为可以把它的成员直接转换成指针来进行访问,很灵活. *.deque可以根据一个索引进行随机访问,所以我一度也以为它内部有一块连续的内存,直到有一次我真这么干的时 阅读全文
posted @ 2013-11-06 22:51 小 楼 一 夜 听 春 雨 阅读(798) 评论(0) 推荐(0)
摘要:http://gmd20.blog.163.com/blog/static/168439232012113111759514/执行10000000次,耗时2258,369微秒QueryPerformanceCounter执行10000000次,耗时26,347微秒 GetTickCount执行 10000000 次, 耗时 242,879 微秒 time()c的时间函数time(time_t)大概比GetSystemTimeAsFileTime慢6倍,比_ftime快6倍执行10000000次,耗时1310,066微秒_ftime执行10000000次,耗时1722,125微秒Get... 阅读全文
posted @ 2013-09-02 21:02 小 楼 一 夜 听 春 雨 阅读(21799) 评论(2) 推荐(3)
摘要:http://blog.csdn.net/solstice/article/details/9923615 近期微吐槽博言论存档,涉及“性能优化”、C++陋习等 写C++程序的几个陋习:class 名以大写 C 开头,例如 CDate;成员变量以 m_ 开头;变量采用匈牙利命名法;不知道何时禁用 c 阅读全文
posted @ 2013-08-12 15:08 小 楼 一 夜 听 春 雨 阅读(490) 评论(0) 推荐(0)
摘要:在C++中可以使用stringstream来很方便的进行类型转换,字符串串接,不过注意重复使用同一个stringstream对象时要先继续清空,而清空很容易想到是clear方法,而在stringstream中这个方法实际上是清空stringstream的状态(比如出错等),真正清空内容需要使用.str(“”)方法。 阅读全文
posted @ 2013-07-31 16:13 小 楼 一 夜 听 春 雨 阅读(3087) 评论(0) 推荐(2)
摘要:简介:这个号称是最快的DOM模型XML分析器,在使用它之前我都是用TinyXML的,因为它小巧和容易上手,但真正在项目中使用时才发现如果分析一个比较大的XML时TinyXML还是表现一般,所以我们决定使用RapidXML作为替换。当然是为了获取更好的性能,经过我们的初步试验后发现确实比TinyXML好,但看到网上关于rapidxml的资料零散,而且也缺乏一份较为权威的说明文档,找来找去还是得看官方的英文手册。所以我又下单了,翻译官方提供的手册,希望给各位朋友提供一些绵薄之力。1. RapidXml 是什么?RapidXML是一个试图创建最快的XML DOM分析器,当然同时也保留它的可用性、移植 阅读全文
posted @ 2013-07-15 00:12 小 楼 一 夜 听 春 雨 阅读(5136) 评论(0) 推荐(0)
摘要:以前都是用tinyxml,这次开发中解析xml配置文件像尝试一下rapidxml,据说效率很高。。。RapidXml Manual:http://rapidxml.sourceforge.net/manual.htmlRapidXml是一个使用C++编写的XML DOM解析工具包,整个解析工具包包含在一个头文件中,所以使用时不用编译也不用连接。只要包含rapidxml中的三个头文件即可。RapidXml 试图成为最快的 XML DOM 解析工具包,同时保证解析结果的可用性、可移植性以及与 W3C 标准的兼容性。在操作同一数据时,其解析速度接近于 strlen() 函数。以下代码使用RapidX 阅读全文
posted @ 2013-07-15 00:11 小 楼 一 夜 听 春 雨 阅读(10622) 评论(0) 推荐(0)
摘要:从MPQ包中读取二进制流出来然后文件写到硬盘。DWORD size = SFileGetSize(hFile);char* buffer = new char[size];std::ofstream ofs;ofs.open(name);ASSERT(ofs.good());ofs.write(buffer, size);ASSERT(ofs.good());ofs.close();.xml,.lua,等文本都是对的,唯独.jpg这些图片些不对!open改为ofs.open(name, std::ios::out | std::ios::binary);就对了!原因应该是ofstream打开文 阅读全文
posted @ 2013-07-05 16:12 小 楼 一 夜 听 春 雨 阅读(6315) 评论(0) 推荐(0)
摘要:函数原型:extern char *strlwr(char *str) extern char *strupr(char *s)参数说明:str为要转换的字符串。所在库名:#include <string.h>函数功能:将字符串str中的大(小)写字母转换成为小(大)写字母,其它的不进行转换。返回说明:返回转换后的字符串的指针。注意:函数参数需要是字符串数组而不能是字符串指针。大整数转换成字符串:_ui64toa,_i64toa;_atoi64,_strtoui64。配置文件中经常用到ini文件,在VC中其函数分别为:写入.ini文件:bool WritePrivateProfil 阅读全文
posted @ 2012-11-19 14:06 小 楼 一 夜 听 春 雨 阅读(319) 评论(0) 推荐(0)
摘要:游戏中接受到的消息那叫一个多如牛毛啊,这就涉及到switch case接受还是if else接受的效率问题有人说这是个小问题,哈哈 精益求精吗看到了一篇两者效率比较的文章:switch...case与if...else的根本区别在于,switch...case会生成一个跳转表来指示实际的case分支的地址,而这个跳转表的索引号与switch变量的值是相等的。从而,switch...case不用像if...else那样遍历条件分支直到命中条件,而只需访问对应索引号的表项从而到达定位分支的目的。具体地说,switch...case会生成一份大小(表项数)为最大case常量+1的跳表,程序首先判断s 阅读全文
posted @ 2012-10-18 17:49 小 楼 一 夜 听 春 雨 阅读(1183) 评论(0) 推荐(0)
摘要:1 int main() 2 { 3 char c = 'abc7'; 4 DWORD x = 'abc7'; 5 //int y = 'abc7d'; //该句编译出错; 6 7 cout<<c<<endl; //7 8 cout<<x<<endl; //1633837879 9 cout<<sizeof('abc7')<<endl; //410 cout<<sizeof('abc')<<endl; //411 cou 阅读全文
posted @ 2012-09-19 19:58 小 楼 一 夜 听 春 雨 阅读(676) 评论(0) 推荐(0)
摘要:1 TiXmlElement *in_elem = new TiXmlElement("tagname"); 2 TiXmlText *text = new TiXmlText( "Hello World" ); 3 in_elem->LinkEndChild(text); 4 TiXmlPrinter printer; 5 in_elem->Accept( &printer ); 6 std::string stringBuffer = printer.CStr(); 7 cout<<stringBuffer; 阅读全文
posted @ 2012-09-15 18:34 小 楼 一 夜 听 春 雨 阅读(3233) 评论(0) 推荐(0)
摘要:函数名:strtok功能:查找由在第二个串中指定的分界符分隔开的单词用法:char*strtok(char*str1,char*str2);程序例: char pSrc[] = "dota, i am, love you, haha"; char* pTmp = NULL; pTmp = strtok(pSrc, ","); while (pTmp) { cout<<pTmp<<endl; pTmp = strtok(NULL, ","); }它的第二个参数不能是char*的变量,是char[]的变量则没问题. 阅读全文
posted @ 2012-09-09 21:52 小 楼 一 夜 听 春 雨 阅读(483) 评论(0) 推荐(0)
摘要:void _Assert(char* strFile, unsigned line){ fflush(stdout); fprintf(stderr, "\nAssert Failed %s, line:%u\n", strFile, line); fflush(stderr); abort();}#ifdef _DEBUG#define MY_ASSERT(f) \ if (f) \ NULL; \ else \ _Assert(__FILE__, __LINE__);#else#de... 阅读全文
posted @ 2012-09-06 21:57 小 楼 一 夜 听 春 雨 阅读(377) 评论(0) 推荐(0)
摘要:from:http://www.udpwork.com/item/8032.html问题看以下代码:#include <algorithm>#include <ctime>#include <iostream>int main(){ // generate data const unsigned arraySize = 32768; int data[arraySize]; for (unsigned c = 0; c < arraySize; ++c) data[c] = std::rand() % 256; // !!! with this, t. 阅读全文
posted @ 2012-09-06 11:04 小 楼 一 夜 听 春 雨 阅读(330) 评论(0) 推荐(0)