
c++基础
IOT_SHUN
这个作者很懒,什么都没留下…
展开
-
C++第三方常用网络库
(1)ACE庞大、复杂,适合大型项目。开源、免费,不依赖第三方库,支持跨平台。http://www.cs.wustl.edu/~schmidt/ACE.html (2)AsioAsio基于Boost开发的异步IO库,封装了Socket,简化基于socket程序的开发。开源、免费,支持跨平台。http://think-async.com/ (3)POCOPOCO C++ Libraries 提供一套...转载 2018-05-09 14:36:47 · 6812 阅读 · 0 评论 -
linux C++ 面向对象线程类封装
1.封装遇到的问题将pthread线程封装为抽象类,这样用户在使用线程时,只需要继承一下这个抽象类,并实现相应的接口就可以了。这样做的好处是用户可以将注意力集中在线程所要执行的逻辑上,而不需要关注创建线程、销毁线程等细节问题上。我们抽象类的名称为Thread,其中有一个成员函数run,该函数为的声明形式为:void run() = 0;即将该成员函数声明为纯虚函数,用户继承此类必须要实现此成员函数...转载 2018-06-27 11:39:15 · 318 阅读 · 0 评论 -
C/C++中判断文件或文件夹是否存在
方法1. access函数 适用范围:所有C/C++项目 头文件: #include < io.h> 函数原型: intaccess(const char *filename, int mode); 函数说明:判断是否具有存取文件的权限 函数参数说明: filename:可以填写文件...转载 2018-05-29 20:17:28 · 2316 阅读 · 0 评论 -
用C++封装线程的互斥操作(linux)
学过操作系统的人,估计都知道互斥量是个何方神圣,我这里也就不再狗尾续貂再做解释了好,先看Linux下关于互斥量的一些API(所谓封装,说白了也就是封装这些API,让这些API更简单好用罢了)一、Linux下互斥量的使用1、定义一个互斥量pthread_mutex_t myMutex;2、初始化互斥量pthread_mutex_init( &myMutex, 0); //第2个参数是设置...转载 2018-06-11 17:03:13 · 265 阅读 · 0 评论 -
C/C++ 获取文件夹下所有文件名 windows和linux通用
#################################################利用C/C++编写程序以获取文件夹内所有子文件名,以下程序参考网络上诸多博文:头文件如下:[cpp] view plain copy#include <iostream> #include <stdlib.h> #include <stdio.h> #incl...转载 2018-06-04 09:20:50 · 1301 阅读 · 0 评论 -
c++箭头运算符重载
箭头操作符(->)的通常用法是,使用一个类对象的指针来调用该指针所指对象的成员。左操作数为对象指针(this),右操作数为该对象的成员名称。定义重载箭头操作符之后看起来就有点特别,可以用类对象的指针来调用,也可以用类对象直接调用。重载箭头操作符必须定义为类成员函数。箭头操作符与众不同。它可能表现得像二元操作符一样:接受一个对象和一个成员名。对对象解引用以获取成员。不管外表如何,箭头操作符不接...转载 2018-05-21 19:41:04 · 718 阅读 · 0 评论 -
c++时间函数
//根据数值时间转换成字符串时间BOOL GetStrFromTime(time_t iTimeStamp, char *pszTime) { tm *pTmp = localtime(&iTimeStamp); if (pTmp == NULL) { return FALSE; } sprintf(pszTime, "%d-%d-%...转载 2018-05-05 17:42:41 · 330 阅读 · 0 评论 -
文件属性数字转rwx(c/c++)
以数字33188为例string temp;string::iterator it = temp.begin();int i;for ( i= 0; i < 9; i++){ if ((33188 >> i) & 0x1 ) { if (0 == i % 2) { temp.insert(it, 1, 'r'); } else if ( 1 == i % 2...原创 2018-05-05 15:36:51 · 464 阅读 · 0 评论 -
C++ 分割字符串两种方法
字符串切割的使用频率还是挺高的,string本身没有提供切割的方法,但可以使用stl提供的封装进行实现或者通过c函数strtok()函数实现。1、通过stl实现涉及到string类的两个函数find和substr: 1、find函数 原型:size_t find ( const string& str, size_t pos = 0 ) const; 功能:查找子字符串第一次出现的位置。 ...转载 2018-05-04 12:27:42 · 6083 阅读 · 1 评论 -
C++文件操作详解
C++ 通过以下几个类支持文件的输入输出:ofstream: 写操作(输出)的文件类 (由ostream引申而来) ifstream: 读操作(输入)的文件类(由istream引申而来) fstream: 可同时读写操作的文件类 (由iostream引申而来)打开文件(Open a file)对这些类的一个对象所做的第一个操作通常就是将它和一个真正的文件联系起来,也就是说打开一个文件。被打开的文件...转载 2018-05-04 12:26:56 · 271 阅读 · 0 评论 -
宏定义中使用do{}while(0)的好处 (转载)
#define MACRO_NAME(para) do{macro content}while(0) 的格式,总结了以下几个原因: 1,空的宏定义避免warning:#define foo() do{}while(0)2,存在一个独立的block,可以用来进行变量定义,进行比较复杂的实现。3,如果出现在判断语句过后的宏,这样可以保证作为一个整体来是实现: #...转载 2018-08-22 10:26:27 · 632 阅读 · 0 评论