【C++】学习笔记——基本的输入输出
C++ 标准库提供了一组丰富的输入/输出功能,编程中最基本和最常见的 I/O 操作。
C++ 的 I/O 发生在流中,流是字节序列。如果字节流是从设备(如键盘、磁盘驱动器、网络连接等)流向内存,这叫做输入操作。如果字节流是从内存流向设备(如显示屏、打印机、磁盘驱动器、网络连接等),这叫做输出操作。
I/O 库头文件
下列的头文件在 C++ 编程中很重要。
头文件
函数和描述
该文件定义了 cin、cout、cerr 和 clog 对象,分别对应于标准输入流、标准输出流、非缓冲标准错误流和缓冲标准错误流。
该文件通过所谓的参数化的流操纵器(比如 setw 和 setprecision),来声明对执行标准化 I/O 有用的服务。
该文件为用户控制的文件处理声明服务。我们将在文件和流的相关章节讨论它的细节。
基本的用法
cin——预定义的对象 cin 是 iostream 类的一个实例。cin 对象附属到标准输入设备,通常是键盘。cin 是与流提取运算符 >> 结合使用的
char a[10];
cin >> a;
输入10个字符
cin——预定义的对象 co ...
【C++】学习笔记——数据结构
C/C++ 数组允许定义可存储相同类型数据项的变量,但是结构是 C++ 中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。
结构用于表示一条记录,假设您想要跟踪图书馆中书本的动态,您可能需要跟踪每本书的下列属性:
Title :标题
Author :作者
Subject :类目
Book ID :书的 ID
定义结构
123456struct strct_name { type name; type name2; type name3; ...}
初始化结构
123456789101112struct stru { char a[10]; char b[10]; int c;}stru str;strcpy(stru,"hello");//需要导入cstring.hstr.b = "两种方法都可以初始化字符串";str.c = 123;//打印结构值cout << str.a << endl << str.b & ...
【C++】学习笔记——const关键字
一、const的作用
在Java当中我们有final关键字用来定义一个常量,常量即固定了的变量定义之后是无法修改的即只读方式访问。在C++中也有这么一个关键字const。
const可以修饰的不仅仅是函数,变量,成员参数等还能用于指针。
使用的方法也很简单
定义一个const常量有两种格式
type const varname;
const type varne;
这两种格式区别就是关键字的位置不一样
比如下面代码
12const int ming = 0;int const ming2 = 1;
这两个方法定义的常量都是无法进行修改了的
二、const 和指针
const可以和指针一起使用如下所示:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576#include <iostream>#include <string>name ...
【PHP】微信支付回调——PHP端
微信提供了一个回调的接口只要把我们的后台接口传过去微信就会调用我们的回调接口。
传的是xml的所以我们php段不能再用$_POST来接受微信回调传过来的数据。。
应该改成如下
1$callback = file_get_contents('php://input');
callback就是微信传过来的回调内容
1234567891011121314151617<xml><appid><![CDATA[微信开放平台id]]></appid><bank_type><![CDATA[OTHERS]]></bank_type><cash_fee><![CDATA[金额]]></cash_fee><fee_type><![CDATA[CNY]]></fee_type><is_subscribe><![CDATA[N]]></is_subscribe><mch_id><! ...
【Linux&PHP】Linux安装Nginx_PHP7.3.19
1、下载PHP
首先到官网找到自己需要的php版本然后复制链接下载
curl -O https://www.php.net/distributions/php-7.2.31.tar.gz
2、安装PHP
123456#安装libxml2#ubuntu/debian安装方式:apt-get install libxml2-dev#centos/redhat安装方式:yum install libxml2-devel
3、开始安装
12345678910111213141516171819202122232425262728293031323334353637383940414243#解压tar.gztar -xzvf php-7.2.31.tar.gz#切换到目录里面cd php-7.2.31#配置./configure --with-mysql=/usr/bin/mysql_config --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-fpm --with-openssl#安装make && make in ...
【Linux&PHP】PHP在安装好后安装扩展模块
我们在Linux中安装好了PHP并成功启动使用后,因为一开始安装不知道需要什么模块导致后面需要安装一些需要的模块不知道如何安装
其实方法也挺简单的和安装方法略同
无需重新编译安装
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061cd到你php的程序编译目录下的ext目录cd /opt/php-7.4.16/ext/#查看你需要安装的模块[root@localhost ext]# lsbcmath ctype dom ffi gd iconv ldap mysqlnd openssl pdo_dblib pdo_odbc phar reflection skeleton sodium sysvmsg tokenizer xmlwriter zlibbz2 curl enchant ...
【Typecho插件】Typecho插件那些事(三)
概述
在前面的文章中我们学习了如何编写一个简单的基本的插件,也编写了一个简单的页面访问IP地址位置记录插件。有时候我们需要自己插入数据这时候我们发现不知道怎么才能实现根据编辑框内容插入数据到数据库,今天我们就来学习插件中的FORM表单。其实FORM表单我们第一篇文章的时候讲到过了但没有具体讲今天我们就来具体讲讲FORM。
一、Typecho_Widget_Helper_Form对象
这个对象呢是Typecho自己的一个FORM接口用于我们编写FORM表单的。
下面的代码是实例化对象
12$form = new Typecho_Widget_Helper_Form(action,method,enctype)//这个实例化接受三个参数action我们待会在讲,method是提交的方式GET或者POST两种方式,enctype是编码方式这里,第一个参数是必须填的其余两个默认是get和application/x-www-form-urlencoded
下面是该对象的一些基本的方法
1234567891011121314151617181920212223242526272829303132 ...
【Typecho插件】Typecho插件那些事之自己动手实现一个访客信息记录
概述
在前两篇文章中我们学习了如何编写一个插件和连接数据库,这两个学会了基本简单的插件都可以自己编写了。今天我们就来编写一个基本的插件一个IP地址记录插件,就是当有人访问你网站的时候会自动把访问者IP和访问页和IP所对应的地址机录下来。让我们start吧。
一、创建插件构造文件
首先创建一个文件夹命名为“Visits”,在里面新建一个Plugin.php并在文件中创建一个类名称为“Visits_Plugin”实现Typecho_Plugin_Interface接口,分别编写接口的函数。这里我就不多说了不会的看我之前的文章。到这里我们的文件和构造都搞好了开始编写功能。
二、数据库处理
首先获取数据库处理器和前缀,在文件中创建一个静态的函数用于创建数据库
这里先定义一下数据库需要存什么数据字段名称是什么。
我定义了几个字段分别是id,ip,time,location,page代表id,ip地址,访问时间,ip对应的位置信息,访问了哪一页
定义好后开始写SQL语句如果不会写的可以用工具生成sql语句,开始创建数据库
12345678910111213141516171819202122232 ...
【Typecho插件】Typecho插件那些事(二)
概要
在上一篇文章【Typecho】Typecho插件那些事(一)中我们分析了HelloWorld插件的源码,那么有些同学是不是以为懂了上篇文章我们就可以开始写一个插件了呢?答案是可以但是只能写一些不用怎么存储数据的插件但插件一般都需要存储信息那怎么整呢?这里我们就得谈谈Typecho提供的操作数据库的类了
一、如何获取数据库处理器
获取数据库处理器的方法我目前为止只知道两个
1234//第一种$db = Typecho_DB::get();//第二种$db //这个变量
就是一个数据库处理器
二、数据库处理器的常用方法
在Typecho_Db对象中有一下这些方法用于增改删查数据库
这里为了下面方法的演示假设数据库有个books表,表中有三个字段分别是id,name,author
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 ...
【Typecho插件】Typecho插件那些事(一)
概要
有时候我们需要一些功能而Typecho中没有我们想要的功能,但Typecho提供了插件化这个功能在源码中的usr/plugins目录中我们就可以通过编写Typecho插件来达到自己想要的功能。下面我们来从零开始编写我们的第一个Typecho插件吧!
一、文件结构和代码构造
首先编写插件需了解插件的文件结构和代码构造
编写一个插件只需要一个Plugin.php文件即可并没有文件结构,文件结构是我们自己定义的编写一个插件的时候如果所有代码都放在一起会感觉到很杂乱所以这时候我们就可以新建一个PHP文件来帮助我们把代码友好化。
二、HelloWorld源码分析
官方给了一个HelloWorld的插件样板我们来分析一下这个插件的构造在这个插件中只有一个Plugin.php没有其他的东西我们来打开这个文件进行分析
打开文件后有很多注释这是Typecho为了让我们看懂而编写的注释我们就按照他的注释来分析,印入眼帘的是下面这段代码
123456789if (!defined('__TYPECHO_ROOT_DIR__')) exit; //这是判断目录是否定义固定就好/** ...