文件指针

CTP接口

瘦欲@ 提交于 2020-04-06 07:03:59
【前言】对上海期货交易平台CTP接口的一个学习总结.(参考vn.py官方文档) 一、引言   目前本人所在的公司一共有三款平台,分别基于C++, C#和Python。其中C#和Python平台都是由交易员开发;C++平台则是由专职IT团队作为一个通用平台开发,内部组件进行了封装(交易员不可见),对外提供行情、交易的API用于策略开发(除了C++ 外也包括C#和Python可用的API)。 用C++ 开发的交易系统:    理论上这款C++平台应该是最为稳定和强大的,由专业人士设计,同时采用封装核心,暴露API,支持组件模块开发,linux服务器运行的形式。   但是在实际运用中,交易团队表达了一个强烈的观点:这个平台实在是太难用了! 由IT团队设计的API功能非常强大,但是也太过繁琐,导致学习曲线极为陡峭。 为了追求速度,没有设计原生GUI(本来就为了在Linux服务器上跑),但是今天绝大多数的非超高频(追求微秒级延迟的那种)交易策略, 几乎都需要有人实时监控 ,你总不能让交易员盯着个linux shell上不断print出来的内容或者盘中去翻日志吧,这个运维风险就扛不起。尽管可以作为插件的形式开发GUI,但C++本身的GUI开发还是较为复杂的,非专业IT很难搞的定。 交易员团队的需求变化很快,通常等不及IT去排班开发,最好是今天收盘有个点子,明天开盘就能开始接实盘数据验证

《php和mysql web开发》读书笔记

有些话、适合烂在心里 提交于 2020-04-04 04:09:10
总算是强迫自己把第一篇给看完了,在这里做一个小结,将一些知识点记录下来。 一、第一篇 使用PHP 1.php中的注释。php支持c、c++和shell脚本风格注释  /**/多行注释 //单行注释 # 单行注释 2.date()函数。  date("H:i:s");  //15:24:23 date("ymd");  //20130707 3.使用$_POST['username'] $_GET'['username']来得到表单内容,取决于提交表单时使用的方法是post 还是get。无论使用什么方式,都可以使用$_REQUEST['username']来得到表单内容。 4.标识符是变量名称的名称,标识符可以是任何长度。由字母、数字、下划线组成。不能以数字开始。标志符区分大小写,但是函数名称是个例外,函数名不区分大小写。php的特性之一就是它不要求在使用变量之前声明变量。 5.php中的8种数据类型,6种常用,2种不常用。  Integer(整数)  用来表示整数  Float(浮点数,也叫Double,双精度值)  用来表示所有实数  String(字符串)  用来表示字符串  Boolean(布尔值)  用来表示true 或false  Array(数组)    用来保存具有相同类型的多个数据项。  Object(对象)   用来保存类的实例 还有两个特殊的类型:NULL(空

C++文件读写详解

回眸只為那壹抹淺笑 提交于 2020-04-04 00:07:10
转自: http://blog.csdn.net/kingstar158/article/details/6859379 在看C++编程思想中,每个练习基本都是使用ofstream,ifstream,fstream,以前粗略知道其用法和含义,在看了几位大牛的博文后,进行整理和总结: 这里主要是讨论fstream的内容: 1 #include <fstream> 2 2.ofstream //文件写操作 内存写入存储设备 3 3.ifstream //文件读操作,存储设备读区到内存中 4 4.fstream //读写操作,对打开的文件可进行读写操作 1.打开文件 在fstream类中,成员函数open()实现打开文件的操作,从而将数据流和文件进行关联,通过ofstream,ifstream,fstream对象进行对文件的读写操作 函数:open() 1 <span style='font-family: "Times New Roman"; font-size: 16px;'> 2 public member function 3 4 void open ( const char * filename, 5 ios_base::openmode mode = ios_base::in | ios_base::out ); 6 7 void open(const wchar_t *

Python文件处理

独自空忆成欢 提交于 2020-04-01 04:03:23
一、open模式 文件是日常编程中常用的操作,通常用于存储数据或应用系统的参数 语法: open(filename,mode) 参数: filename:要访问的文件名 mode:打开文件的模式 模式 说明 r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 r+ 打开一个文件用于读写。文件指针将会放在文件的开头。 w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 rb+

c++学习笔记

社会主义新天地 提交于 2020-03-30 21:50:51
1 函数 1.1 内联函数 inline bool isNumber ( char c ) { return ( c == '1' ); } int main ( int argc , _TCHAR * argv []) { //cout<<" Hello World! \n"; //printf("Hello World!"); if ( isNumber ( '1' )) printf ( "It is a Number" ); else printf ( "It isn't a Number" ); return 0; } 这种用 inline 定义的函数就是内联函数。 内联函数的出现是为了解决效率问题; 内联函数的函数体一般在 1 - 5 行之间; 内联函数内部不允许有控制语句,如果有控制语句,则它只会被当作一般的函数。 2 程序结构 2.1 外部存储类型 默认的函数声明或定义总是 extern 的; 带 extern 的是变量声明,不是变量实现; 2.2 静态函数 在 c++ 中所谓的静态函数和 c #中的是不同的,函数之所以声明为 static ,是为了和 extern 不同,就是让该函数只在这个文件内有效。 2.3 作用域 主要可以分为以下几种: l 局部作用域; void fn () { if ( int i == 5) //i 的作用域自此开始 i = 2* i

马哥博客作业第二周

≡放荡痞女 提交于 2020-03-30 08:16:44
3月23日课程:文件管理 1. 相对路径:一般情况下相对的是当前所在的目录! *特殊情况下也可能不是相对于当前目录而是相对于某个目录。 2. Ls 命令 及其各选项 3. Sata 查看三个文件时间 所有者 大小 节点等! modify time 修改文件内容时间 change time 属性更改时间 所有者或文件类型 access time 文件读取时间。 4. Chown 更改文件所有者 change owner 5. File + 文件 查看文件类型 6. Linux对文件后缀要求不严格,更改后缀依然可以用。 7. Linux和windows文件格式不一样,相互需要转换才能使用。dos2unix 可以将windows格式改成linux格式,unix2dos linux格式改成 windows格式。 8. Hexdump 看文件2进制内容 9. 编码 中国 GB2312 全球utf8 10. 文件通配符 文件通配符可以用来匹配符合条件的多个文件,方便批量管理。文件通配符采有特定的符号,表示特定的含义 11. cp 选项属性 cp -a 常用于备份 特殊文件一定要保存属性复制 复制整个文件包括隐藏文件 .开头的文件 只复制隐藏文件 12. mv 移动文件 更改位置 也可以改名 ,同一分区移动数据,速度很快:数据位置没有变化。不同分区移动数据,速度相对慢:数据位置发生了变化 13.

php文件函数

徘徊边缘 提交于 2020-03-27 15:14:54
文件函数库 文件、目录函数库为 PHP 核心函数库,可以通过其提供的 API 完成对于文件及目录的常用操作。 文件信息相关的 API /* * 文件信息相关API * filetype(), filesize(), filectime(),filemtime(), fileatime() */ $dirname = "./"; $filename = "./11.txt"; // string filetype(string filename):返回文件的类型 echo '文件类型为:', filetype($dirname), "\n"; //dir echo '文件类型为:', filetype($filename), "\n"; //file //int filesize(string filename):返回文件大小的字节数 echo '文件大小:', filesize($filename), "\n"; //int filectime(string filename):返回文件的创建时间的时间戳 echo '文件的创建时间:', date('Y-m-d H:i:s', filectime($filename)), "\n"; //int filemtime(string filename):返回文件的最后修改时间的时间戳 echo '文件的修改时间:', date('Y

Objective-C--- 多态 、 协议

点点圈 提交于 2020-03-27 08:11:38
1 编写交通工具程序 1.1 问题 本案例需要创建一个TRTransportation类,类中有一个方法叫print的方法,该方法默认输出 “显示交通工具信息”,这个类作为父类,派生出三个子类TRTaxi的士类、TRBus巴士类和TRBike 自行车类。TRTaxi的士类覆盖了父类的print方法,改成自己的输出,"交通工具为的士";TRBus巴士类覆盖了父类的print方法,改成自己的输出,"交通工具为巴士";TRBike 自行车类覆盖了父类的print方法,改成自己的输出,"交通工具为单车"。 在主程序中,创建三个交通工具,使用多态输出交通工具信息。 1.2 步骤 实现此案例需要按照如下步骤进行。 步骤一:定义TRTransportation类 首先,在Day04工程中新添加TRTransportation.h文件,用于定义新的类TRTransportation。 代码如下所示: # import <Foundation /Foundation .h > @ interface TRTRansportation : NSObject -( void )print ; @end 在上述代码中,为TRTransportation类添加一个方法print,用于输出信息“显示交通工具信息”到控制台。 然后,在类TRTransportation的实现部分

C语言文件读写命令

折月煮酒 提交于 2020-03-22 03:11:10
C语言把磁盘文件看成是字符(或字节)的序列,按照存储信息的形式来说,文件主要是有文本文件和二进制文件。文本文件由一个个字符组成,每个字节存放一个ASCII码制,代表一个字符。二进制文件把内存中的数据按其在内存中的存储形式原样放入磁盘空间。 二进制文件以及文本文件都可以看做是“数据流”。 流文件的特点是,处理时不需考虑文件中的数据的性质、类型和存放格式。访问时只是以字节为单位对数据进行存取,没有记录的概念,而将对数据结构的分析、处理等工作都交给后续程序区处理。系统会自动为这在使用的每个文件开辟一个缓存区,从内存向磁盘输出数据必须先送到内存中的缓存区,装满缓存后才一起送到磁盘。 一、文件的打开与关闭 文件在进行读写操作之前要先打开,使用完毕要关闭。所谓打开文件,实际上是建立文件的各种有关信息,并使文件指针指向该文件,以便进行其它操作。关闭文件则断开指针与文件之间的联系,也就禁止再对该文件进行操作。 fopen函数用来打开一个文件,其调用的一般形式为: 文件指针名=fopen(文件名,使用文件方式); 其中: “文件指针名”必须是被说明为FILE 类型的指针变量; “文件名”是被打开文件的文件名; “使用文件方式”是指文件的类型和操作要求。 “文件名”是字符串常量或字符串数组。 使用文件的方式共有12种,下面给出了它们的符号和意义。 “r” 只读打开一个文本文件,只允许读数据 “w”

B+树索引

ぃ、小莉子 提交于 2020-03-19 00:18:19
结构上 B树中关键字集合分布在整棵树中,叶节点中不包含任何关键字信息,而B+树关键字集合分布在叶子结点中,非叶节点只是叶子结点中关键字的索引; B树中任何一个关键字只出现在一个结点中,而B+树中的关键字必须出现在叶节点中,也可能在非叶结点中重复出现; 性能上(也即为什么说B+树比B树更适合实际应用中 操作系统 的文件索引和 数据库 索引?) 不同于B树只适合随机检索,B+树同时支持随机检索和顺序检索; B+树的磁盘读写代价更低。B+树的内部结点并没有指向关键字具体信息的指针,其内部结点比B树小,盘块能容纳的结点中关键字数量更多,一次性读入内存中可以查找的关键字也就越多,相对的,IO读写次数也就降低了。而IO读写次数是影响索引检索效率的最大因素。 B+树的查询效率更加稳定。B树搜索有可能会在非叶子结点结束,越靠近根节点的记录查找时间越短,只要找到关键字即可确定记录的存在,其性能等价于在关键字全集内做一次二分查找。而在B+树中,顺序检索比较明显,随机检索时,任何关键字的查找都必须走一条从根节点到叶节点的路,所有关键字的查找路径长度相同,导致每一个关键字的查询效率相当。 (数据库索引采用B+树的主要原因是,)B-树在提高了磁盘IO性能的同时并没有解决元素遍历的效率低下的问题。B+树的叶子节点使用指针顺序连接在一起,只要遍历叶子节点就可以实现整棵树的遍历