C 库函数 - mbstowcs()  C 标准库 - <stdlib.h> 描述 C 库函数 size_t mbstowcs(schar_t *pwcs, const char *str, size_t n) 把参数 str 所指向的多字节字符的字符串转换为参数 pwcs 所指向的数组. 声明 下面是 mbstowcs() 函数的声明. size_t mbstowcs(schar_t *pwcs, const char *str, size_t n) 参数 pwcs -- 指向一个 wcha…
需要包含头文件 #include <string> 数值类型转成string类型: string to_string(int val); string to_string(unsigned val); string to_string(long val); string to_string(unsigned long val); string to_string(long long val); string to_string(unsigned long long val); string t…
STL笔记(6)标准库:标准库中的排序算法 标准库:标准库中的排序算法The Standard Librarian: Sorting in the Standard Library Matthew Austern http://www.cuj.com/experts/1908/austern.htm?topic=experts 用泛型算法进行排序    C++标准24章有一个小节叫“Sorting and related operations”.它包含了很多对已序区间进行的操作,和三个排序用泛型…
在我们平常写的c/c++程序,一些算法题中,我们常常会用到c标准库中string.h文件中的函数,这些函数主要用于处理内存,字符串相关操作,是很有用的工具函数.而且有些时候,在笔试或面试中也会出现让你来实现某个函数的情况(比如strcpy).而且里面有些函数时间长不用就生疏了,本文就是要全面回顾这些函数. 1.NULL NULL是一个宏,可以扩展为空指针常量.空指针常量是一个等于零的整数常量表达式,后者是如(void *)0一样的从0转换为空指针void *.(A null-pointer co…
为避免与标准库中的atoi产生歧义, 我将自己编写的函数命名为strToInt, 以下是示例代码 #include <stdio.h> int strToInt(const char *str); int main() { int a = strToInt("-123.456"); int b = strToInt("+3.14"); int c = strToInt("123+123"); int d = strToInt(&quo…
结合存储器映像理解stm32标准库中定义外设地址的方法. stm32f103zet6是32位的.它所能访问的地址空间范围为2^32=4GB,把4GB分为8个block,分别为block0-block-7.把这8个block用于不同的用途. block0-block7的用途 图1 ———————————————————————————————————————————————————————— 图2 从上面的图2中可以看到block2作为外设的地址,也就是说我们操作的外设都在block2中.bloc…
Go标准库中提供了Sync.Once来实现"只执行一次"的功能.学习了一下源代码,里面用的是经典的双重检查的模式: // Once is an object that will perform exactly one action. type Once struct { m Mutex done uint32 } func (o *Once) Do(f func()) { if atomic.LoadUint32(&o.done) == 1 { return } // Slow…
在使用标准库中的加锁机制时,例如我们使用std::mutex,写了如下的代码(下面的代码使用condition_variable可能更合适) std::mutex g_mtx; int g_resNum; // and how to get the resource ... // 线程1使用如下代码: { std::lock_guard<std::mutex> guard(g_mtx); // prepare the resource ... // set the resource num g…
题目描述 1.简单举例 Python 标准库中的装饰器 2.说说你用过的 Python 标准库中的装饰器 1. 首先,我们比较熟悉,也是比较常用的 Python 标准库提供的装饰器有:property,classmethod,staticmethod,functools.wraps四个.这四个的可考点比较多,这里将分别说明: 首先先来说明 functools.wraps,这个我们在之前翻译装饰器时已经谈到过.这里我们同样用代码来说明吧. # 比如一个简单的用来统计代码运行时长的装饰器import…
python标准库中socket模块详解 socket模块简介 原文:http://www.lybbn.cn/data/datas.php?yw=71 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket.socket通常被叫做“套接字”,用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信.在Internet上的主机一般运行了多个服务软件,同时提供几种服务.每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应…
1 stdio.h是c标准库中的标准输入输出库 2 在c++中调用的方法 直接调用即可,但是最好在函数名前面加上::,以示区分类的内部函数和c标准库函数. 3 c标准输入输出库的使用 3.1 核心结构体 FILE结构体 打开一个文件的时候获取它,然后就可以不用管它了. 3.2 核心方法 3.2.1 fopen 第一个字符串是文件的路径. 第二个参数是一个字符串,表示操作该文件的模式,“rb”表示read binary,即以二进制的形式来读该文件. 3.2.2 fseek 第一个参数是FILE结构…
php标准库中的优先队列SplPriorityQueue怎么使用?(继承) 一.总结 1.new对象,然后通过insert方法和extract方法来使用,top方法也很常用. 2.类的话首先想到继承,所以可以继承SplPriorityQueue来实现自己特定功能的优先队列.(继承思想) 二.php标准库中的优先队列SplPriorityQueue怎么使用? 而优先队列SplPriorityQueue是基于堆(后文介绍)实现的. SplPriorityQueue简单使用: $pq = new Sp…
php标准库中QplQueue队列如何使用? 一.总结 1.new对象,然后通过enqueue方法和dequeue方法使用. 二.php标准库中QplQueue队列如何使用? 队列这种数据结构更简单,就像我们生活中排队一样,它的特性是先进先出(FIFO). PHP SPL中SplQueue类就是实现队列操作,和栈一样,它也可以继承双链表(SplDoublyLinkedList)轻松实现. $queue = new SplQueue(); /** * 可见队列和双链表的区别就是IteratorMo…
如果你看过 Go 语言标准库,应该有见到过,有一些函数只有签名,没有函数体.你有没有感觉到很奇怪?这到底是怎么回事?我们自己可以这么做吗?本文就来解密它. 首先,函数肯定得有实现,没有函数体,一定是在其他某个地方.Go 中一般有两种形式. 函数签名使用Go,然后通过该包中的汇编文件来实现它 比如,在标准库 sync/atomic 包中的函数基本只有函数签名.比如:atomic.StoreInt32 // StoreInt32 atomically stores val into *addr. f…
Python 内置了三个用于装饰方法的函数:property.classmethod 和 staticmethod. 另一个常见的装饰器是 functools.wraps,它的作用是协助构建行为 良好的装饰器.标准库中最值得关注的两个装饰器是 lru_cache 和全新的 singledispatch(Python 3.4 新增). 这两个装饰器都在 functools 模块中定义.接下来分别讨论它们. 1,使用functools.lru_cache做备忘 functools.lru_cache…
http://www.cnblogs.com/shootingstars/archive/2008/11/14/860042.html 以前使用bind1st以及bind2nd很少,后来发现这两个函数还挺好玩的,于是关心上了.在C++ Primer对于bind函数的描述如下:“绑定器binder通过把二元函数对象的一个实参绑定到一个特殊的值上将其转换成一元函数对象 C++标准库提供了两种预定义的binder 适配器bind1st 和bind2nd 正如你所预料的bind1st 把值绑定到二元函数…
智能指针的出现是为了能够更加方便的解决动态内存的管理问题.注:曾经记得有本书上说可以通过vector来实现动态分配的内存的自动管理,但是经过试验,在gcc4.8.5下是不行的.这个是容易理解的,vector是个模板,它不能辨别传入的数据类型是否是指针,从而也不能进行自动的释放内存操作.如果对非new出的对象进行delete操作,反而还会引起一些不必要的问题. C++11标准库为了能够使程序员能够更安全的使用动态内存,提供了两种智能指针类型来管理动态对象. shared_ptr类 智能指针也是模板…
标准C++中的string类的用法总结 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的.也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后给出操作方法.其实,可能很多人很可能会忽略掉标准C++中string类的使用.标准C++中提供的string类得功能也是非常强大的,一般都能满足我们开发项目时使用…
C标准库qsort()函数的用法(快排) 使用快速排序例程进行排序 头文件:stdlib.h 用 法: void qsort(void *base, int  nelem, int  width, int (*fcmp)(const void*,const void *)); 参数: 1 待排序数组首地址 2 数组中待排序元素数量 3 各元素的占用空间大小 4 指向函数的指针,用于确定排序的顺序 其中comp函数应写为: int comp ( const void *a, const void…
一.string    #include <string>  using std::string    初始化函数:    string s1;        默认构造函数 s1 为空串  string s2(s1);   将 s2 初始化为 s1 的一个副本  string s3("value");将 s3 初始化为一个字符串字面值副本  string s4(n, 'c');将 s4 初始化为字符 'c' 的 n 个副本    string s4(5,'6')  6666…
1.list自带有排序函数sort():可以定义自己的排序规则,如: struct stTest { int count; wstring str; }; bool SortByNum(const stTest& left, const stTest& right){ return left.count > right.count ;} std::list<stTest> lstTest; lstTest.sort(SortByNum); 2.vector 没有自己的排序…
1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strcasecmp忽略大小写比较字符串strncmp(p, p1, n) 比较指定长度字符串 strchr(p, c) 在字符串中查找指定字符 strrchr(p, c) 在字符串中反向查找 strstr(p, p1…
clock 装饰器 def clock(func): @functools.wraps(func) def clocked(*args, **kwargs): t0 = time.perf_counter() result = func(*args, **kwargs) elapsed = time.perf_counter() - t0 name = func.__name__ arg_lst = [] if args: arg_lst = ', '.join(repr(arg) for ar…
一.问题背景 产生环境:oracle数据库,hibernate操作 定义了一个表 create table STORE_INFORMATION ( id CHAR(32) not null, name VARCHAR2(254) default '', content CLOB default '', create_time VARCHAR2(26) default '', cindex NUMBER default 0, status VARCHAR2(4) default '0' not n…
字符转换为数字: #include<stdlib.h> atoi();    将字符转换为整型                       例:char ch1;int i=atoi(ch1); atol();    将字符转化为长整型                  例:char ch2;long l=atol(ch2); atof();    将字符转化为浮点型                  例:char ch3;float f=atof(ch3); strtod(); 将字符串转化…
1.容器的基本要求 a.并非所有的数据都可以放进容器当中.各种容器模板对所存数据类型都有一个基本要求——可复制构造.将数据放进容器的过程就是通过数据的复制构造函数在容器内创建数据的一个副本的过程. b.容器中必须有若干与所存数据类型有关的嵌套定义类型. C::value_type 容器所存数据类型 C::reference 容器数据的引用类型 C::const_reference 容器数据的只读引用类型 C::size_type 容器容量类型,通常是一个无符号整数类型 c.除嵌套类型定义外,容器…
今天在做C++ Primer习题的14.11时,印象中应该挺简单的一题,结果却费了很长时间. 类定义: typedef string Date; class CheckoutRecord{ public: CheckoutRecord(){book_id=-1;} friend ostream& operator<<(ostream &os,const CheckoutRecord &obj); friend istream& operator>>(…
一.用于过滤的生成器函数 - 从输入的可迭代对象中产出元素的子集,而不修改元素本身 import itertools l1 = [1,2,3,4,5] l2 = [True,False,True,False,True] def predict(k): return l2[k-1] # compress(it,selector_it)并行处理两个可迭代对象, # 如果selector_it中的元素是真值,产出it中对应的元素 # 输出: 1,3,5 for i in itertools.compr…
刚开始学网络编程,稍微扩展书上的简单C/S程序时,发现以前太忽略标准I/O这一块,查官网发现C++11新增了几个格式化I/O函数. snprintf    将格式化输出写入到有大小限制的缓存中 vfscanf     从流中读取数据到可变参数列表中 vscanf      读取格式化数据到可变参数列表中 vsnprintf  从可变参数列表中写入数据到有大小限制的缓存中 vsscanf     从字符串中读取格式化数据到可变参数列表中 主要谈谈snprintf,后面4个都是辅助可变参数列表的.…
先抓出std::endl的源代码: /** *  @file  ostream *  @brief  Write a newline and flush the stream. * *  This manipulator is often mistakenly used when a simple newline is *  desired, leading to poor buffering performance.  See *  http://gcc.gnu.org/onlinedocs/…