C 标准库 <assert.h> 简介 C 标准库的 assert.h头文件提供了一个名为 assert 的宏,它可用于验证程序做出的假设,并在假设为假时输出诊断消息. 已定义的宏 assert 指向另一个宏 NDEBUG,宏 NDEBUG 不是 <assert.h> 的一部分.如果已在引用 <assert.h> 的源文件中定义 NDEBUG 为宏名称,则 assert 宏的定义如下: #define assert(ignore) ((void)0) 库宏 下面列出了头…
<stdio.h> 简介 stdio .h 头文件定义了三个变量类型.一些宏和各种函数来执行输入和输出. 库变量 下面是头文件 stdio.h 中定义的变量类型: 序号 变量 & 描述 1 size_t 这是无符号整数类型,它是 sizeof 关键字的结果. 2 FILE 这是一个适合存储文件流信息的对象类型. 3 fpos_t 这是一个适合存储文件中任何位置的对象类型. 库宏 下面是头文件 stdio.h 中定义的宏: 序号 宏 & 描述 1 NULL 这个宏是一个空指针常量…
<locale.h> 简介 locale.h 头文件定义了特定地域的设置,比如日期格式和货币符号.接下来我们将介绍一些宏,以及一个重要的结构 struct lconv 和两个重要的函数. 库宏 下面列出了头文件 locale.h 中定义的宏,这些宏将在下列的两个函数中使用: 序号 宏 & 描述 1 LC_ALL 设置下面的所有选项. 2 LC_COLLATE 影响 strcoll 和 strxfrm 函数. 3 LC_CTYPE 影响所有字符函数. 4 LC_MONETARY 影响 l…
c++ 11开始语言本身和标准库支持并发编程,意味着真正要到编译器从语言和标准库层面开始稳定,估计得到17标准出来.14稳定之后的事情了,根据历史经验,新特性的引入到稳定被广泛采用至少要一个大版本的跨越才能稳定和被大规模production使用. 关于c++ 11之前的两个常用线程库主要是pthread和OpenMP,说是OpenMP在使用便利性上比pthread要好,只不过pthread是POSIX标准,在windows上也提供了相同的接口,笔者尚未仔细研究,具体可参考下http://blog…
C 标准库 - <assert.h> 简介 C 标准库的 assert.h头文件提供了一个名为 assert 的宏,它可用于验证程序做出的假设,并在假设为假时输出诊断消息. 已定义的宏 assert 指向另一个宏 NDEBUG,宏 NDEBUG 不是 <assert.h> 的一部分.如果已在引用 <assert.h> 的源文件中定义 NDEBUG 为宏名称,则 assert 宏的定义如下: #define assert(ignore) ((void)0) 库宏 下面列出…
一.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.引出我们的问题? 标准c库都是一样的!大家想必都在windows下做过文件编程,在linux下也是一样的函数名,参数都一样.当时就有了疑问,因为我们非常清楚 其本质是不可能一样的,源于这是俩个操作系统啊!但由于c标准库的封装就实现了接口一样.但是如果往深入,我们就非常清楚了在这层封装上还有一层封装其实就是操作系统对文件操作的封装,也就是文件IO.而我们c语言的封装叫标准IO,他们有什么区别那?显然标准iO是基于文件io的,标准IO调用了文件IO,也优化了文件IO,例如引入缓存机制. 2.上面…
本文地址:http://www.cnblogs.com/archimedes/p/c-library-assert.html,转载请注明源地址. 1.背景知识 头文件<assert.h>唯一的目的就是提供assert宏定义,可以在程序中关键的地方使用这个宏来进行断言.如果一处断言被证明非真,希望程序在标准错误流输出一条适当的提示信息,并使执行异常终止. 可以这样写代码: #include<assert.h> ... assert( <= i && i <…
用思维导图整理: 代码: #include <stdio.h> #include <time.h> #include <string.h> int main() { /* 标准库直接支持 */ //获得运行程序的机器时间,并直接从time_t打印时间 time_t t = time(NULL); printf("%s\n",ctime(&t)); //从time_t转换成为struct tm,使用struct tm打印时间 struct tm…
 标准库类型(一) --命名空间using与string类型 引: 标准库类型是语言组成部分中更主要的哪些数据类型(如:数组.指针)的抽象! C++标准库定义的是高级的抽象数据类型: 1.高级:由于当中反映了更复杂的概念. 2.抽象:由于我们在使用时不须要关心他们是怎样表示的,我们仅仅须要知道这些抽象数据类型支持哪些操作就能够了. 正文: 一.命名空间的using声明 1. using std::cin; ::运算符的作用含义是右操作数的名字能够在左操作数的作用域中找到. 格式: using…
Go语言内置的log包实现了简单的日志服务.本文介绍了标准库log的基本使用. 使用Logger log包定义了Logger类型,该类型提供了一些格式化输出的方法.本包也提供了一个预定义的"标准"logger,可以通过调用函数Print系列(Print|Printf|Println).Fatal系列(Fatal|Fatalf|Fatalln).和Panic系列(Panic|Panicf|Panicln)来使用,比自行创建一个logger对象更容易使用. 例如,我们可以像下面的代码一样直…
fmt包实现了类似C语言printf和scanf的格式化I/O.主要分为向外输出内容和获取输入内容两大部分. 向外输出 标准库fmt提供了以下几种输出相关函数. Print Print系列函数会将内容输出到系统的标准输出,区别在于Print函数直接输出内容,Printf函数支持格式化输出字符串,Println函数会在输出内容的结尾添加一个换行符. func Print(a ...interface{}) (n int, err error) func Printf(format string,…
除第二章介绍的是C++的基本类型,本章将大致介绍一下C++定义的内容丰富的抽象数据库类型标准库.着重介绍一下sting.vector和bitset. 3.2标准库string类型 1.string类型支持几个构造函数.构造函数是一个特殊成员函数,定义如何初始化该类型的对象,以下是string类型常用的构造函数.当没有明确指定对象初始化式时,系统将调用默认构造函数 几种初始化string对象的凡是 string s1 默认构造函数,s1为空串 string s2(s1) 将s2初始化为s1的一个副…
ioutil标准库中提供了一些常用.方便的IO操作函数 一.相关方法 func ReadAll(r io.Reader) ([]byte, error) func ReadDir(dirname string) ([]os.FileInfo, error) func ReadFile(filename string) ([]byte, error) func WriteFile(filename string, data []byte, perm os.FileMode) error func…
errno.h 提供了一个整数全局变量errno,当系统调用或者库函数的错误事件发生时可能会修改该值,指明错误的原因,该值可在任何需要的地方被修改:一般情况不为0的值表示出现了异常或者错误. errno.h中定义了一系列的错误代码,以E开头的宏. glibc中extern int errno来声明定义该错误值:此外其他的E开头的宏EDOM.EILSEQ.ERANGE.EOWNERDEAD等. 微软提供的为一个函数,errno被宏定义#define errno (*_errno()):_errno…
Go语言内置的flag包实现了命令行参数的解析,flag包使得开发命令行工具更为简单. os.Args 如果你只是简单的想要获取命令行参数,可以像下面的代码示例一样使用os.Args来获取命令行参数. package main import ( "fmt" "os" ) //os.Args demo func main() { //os.Args是一个[]string if len(os.Args) > 0 { for index, arg := range…
Go语言中strconv包实现了基本数据类型和其字符串表示的相互转换. strconv包 strconv包实现了基本数据类型与其字符串表示的转换,主要有以下常用函数: Atoi().Itia().parse系列.format系列.append系列. 更多函数请查看官方文档. string与int类型转换 这一组函数是我们平时编程中用的最多的. Atoi() Atoi()函数用于将字符串类型的整数转换为int类型,函数签名如下. func Atoi(s string) (i int, err er…
在全局函数中,this等于window  在函数被作为某个对象的方法调用时,this等于那个对象. 数组的函数: 检测:Array.isArray() 转换:toString(),toLocalString(),valueOf(),join() 排序:sort(f),reverse() 栈:pop,push 队列:shift和unshift 操作方法: concat 将参数加入到一个新的数组后,不影响自己 slice(1,4) 从第1项切割到第4项(不包括最第四项) 不影响自己 splice操作…
1. 操作系统接口 os 模块提供了一些与操作系统相关联的函数. >>> os.getcwd() # 获取当前工作目录 '/home/senius' >>> os.chdir('./Downloads') # 更改当前工作目录 >>> os.getcwd() '/home/senius/Downloads' >>> os.system('ls') # 运行系统命令 4221d02a2e88e9053085920f13f9ce36.jp…
os包提供了操作系统的系列函数,这些接口不依赖平台.设计为Unix风格的,错误处理是go风格的:调用失败会返回错误值而非错误码.通常错误值里包含更多信息. os包的接口在所有操作系统中都是一致的.非公用的属性可以从操作系统特定的syscall包获取. 一.操作系统基本命令 1. 相关方法 func Getwd() (dir string, err error) // 获取当前工作目录的根路径 func Chdir(dir string) error // 将工作目录修改为dir func Chm…
一.Path包 import "path" path实现了对斜杠分隔的路径进行操作的函数. func IsAbs(path string) bool // 判断是否是一个绝对路径 func Split(path string) (dir, file string) // 将路径分割为路径和文件名 func Join(elem ...string) string // 将多个字符串合并为一个路径 func Ext(path string) string // 返回路径中扩展部分 func…
==errno 模块== ``errno`` 模块定义了许多的符号错误码, 比如 ``ENOENT`` ("没有该目录入口") 以及 ``EPERM`` ("权限被拒绝"). 它还提供了一个映射到对应平台数字错误代码的字典. [Example 2-21 #eg-2-21] 展示了如何使用 ``errno`` 模块. 在大多情况下, //IOError// 异常会提供一个二元元组, 包含对应数值错误代码和一个说明字符串. 如果你需要区分不同的错误代码, 那么最好在可能…
C 标准库 - ctype.h This header declares a set of functions to classify and transform individual characters. These functions take the int equivalent of one character as parameter and return an int that can either be another character or a value represent…
Technical Report 1不是正式的库只是一个草案,作为C++ 2003标准的附加库被大多数编译器厂商所支持,它是个过渡性质的库,其实现将会作为C++11标准的一部分.很多编译器对C++11的支持在其内部实现中对相关功能的处理实际上就是用的之前其对Technical Report 1的实现(如LLVM,clang++).使用tr1不需要链接额外的库. C++ Technical Report 1 (TR1)是ISO/IEC TR 19768, C++ Library Extension…
<stddef.h>,顾名思义,就是标准定义.C语言里这个标准库里定义了一些类型,和宏定义. <stddef.h>的内容: 类型: ptrdiff_t : 是两个指针相减的结果的无符号整数类型. size_t : 是sizeof操作符的结构的无符号类型. wchar_t : 是一个整数类型,它范围内的值可以表示最大扩展字符集中所有成员的不同编码值. 宏: NULL : 展开为实现定义的空指针常量. offsetof : offsetof(type, member-designato…
从c++ 11开始,语言核心和标准库开始引入了对多线程的原生支持.如下所示: int doSth(char c) { default_random_engine dre(c); uniform_int_distribution<,); ;i<;i++) { this_thread::sleep_for(chrono::milliseconds(id(dre))); cout.put(c).flush(); } return c; } int func1() { return doSth(','…
1. string 标准库 1.1初始化 string s1; 默认构造函数s1为空 string s2(s1); 将s2初始化为s1的一个副本 string s3("value"); 将s3初始化为一个字符串字面值副本 string s4(n,'c'); 将s4初始化为字符'c'的n个副本 string对象的赋值:赋值所做的工作:必须先将s1所占的内存释放掉,然后在分配足够的内存,最后将新字符串赋值到s1中: string对象和字符串字面值的连接:+操作符的左右操作数必须至少一个是s…
标准库 string 类型 string 类型支持长度可变的字符串.C++ 标准库将负责管理与存储字符相关的内存,以及提供各种实用的操作.标准库string 类型的目的就是满足对字符串的一般应用. 与其它的标准库类型一样,用户程序要使用 string 类型对象.必须包括相关头文件.假设提供了合适的 using 声明,那么编写出来的程序将会变得简短些: #include <string> using std::string; 1.1 string 对象的定义和初始化 string 标准库支持几个…
默默觉得原来的阅读笔记的名字太土了,改了个名字,叫做走进C标准库. 自己就是菜鸟一只,第一次具体看C标准库,文章参杂了对<the standard C library>的阅读和对源码的一些个人浅显理解,自己记录一下,日后有机会来看可能有另一番感悟吧. assert.h assert宏定义的两种表达方式: #define assert(exp) ((exp) ? (void)0 : _assert(msg)) #define assert(exp) (void)( (exp) || _asser…
C++ 标准库可以分为两部分: 标准函数库: 这个库是由通用的.独立的.不属于任何类的函数组成的.函数库继承自 C 语言. 面向对象类库: 这个库是类及其相关函数的集合. C++ 标准库包含了所有的 C 标准库,为了支持类型安全,做了一定的添加和修改. 标准函数库 标准函数库分为以下几类: 输入/输出 I/O 字符串和字符处理 数学 时间.日期和本地化 动态分配 其他 宽字符函数 面向对象类库 标准的 C++ 面向对象类库定义了大量支持一些常见操作的类,比如输入/输出 I/O.字符串处理.数值处…