- 博客(8)
- 收藏
- 关注
原创 c++反转字符串
简述输入一个字符串,输出一个反转后的字符串。这个问题比较简单,解题思路也很多:使用std::reverse()函数从末尾开始读取原字符串,将其放入一个新建的字符串中遍历字符串,首尾交换位置,奇数位的中间元素不用交换双指针法,即使用两个指针,一个指向开头,一个指向结尾,只要开头小于结尾,就把这两个位置的元素互换递归法,即递归字符串的开始位置和结尾位置元素,两两互换第一种不用说,项目里用它就对了。第二种空间复杂度为O(n),实现简单。这里主要讨论后三种。遍历互换直接上代码:void
2020-07-31 16:49:24 2671
原创 Tarscpp实现Http协议
简介要实现一个web server,需要了解基本的Http协议。tars内置了对http协议的支持,使用还是比较简单的。它复用了 tars rpc,因此也拥有了同步和异步以及超时的特性,并能够利用tars stat上报调用质量。官方文档:https://github.com/TarsCloud/TarsDocs/blob/master/dev/tarscpp/tars-http1.md本文结合笔者开发过程作一记录,并对开发中遇到的问题进行详细描述。Http server服务框架的生成与普通
2020-07-31 16:15:21 1288
原创 http协议简介
概要由于项目需要,最近接手一个Web srv的开发,需要在后端实现http协议。在开发中学习,是很快的。本文作一记录,适合http协议入门。协议简介HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HT
2020-07-30 10:59:28 249
原创 正则表达式之sed/awk简介
正则表达式在文字处理的过程中,正则表达式极其有用。它提供了一种处理文字串的一种规则,结合特殊的字符,以行为单位处理字串,很容易进行搜寻、删除、替换等操作。对正则支持的工具也很多,比较常用的有vim、grep、sed、awk等。注意正则与shell通配符的区别,同样的字符含义大相径庭。在不支持正则的命令下,也可以结合支持正则的工具共同使用。如下的指令获取所有以a开头的文件:ls | grep -n '^a.*'基础正则表达式符号汇总(摘自鸟哥):sedsed是一个管线命令,可以对数据
2020-07-24 18:47:56 311
原创 mysql异常退出定位及解决记录
现象运行正常的程序,早上出现了异常。查看日志报错,是读写数据时失败。这个时候需要检查一下数据库是否正常。先在终端里用mysql客户端连接一下吧。mysql -uuser -p输入密码,果然连接失败。再查看mysql服务的状态,发现已经挂了:# systemctl status mysqld.service● mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; ena
2020-07-23 11:08:50 6143
原创 c++使用shplib读取dbf实时数据
简介看这篇文章的朋友应该已经知道shplib了,官方介绍如下:The Shapefile C Library provides the ability to write simple C programs for reading, writing and updating (to a limited extent) ESRI Shapefiles, and the associated attribute file (.dbf).支持三类文件:XXX.shp - holds the actua
2020-07-10 19:08:00 1454
原创 Linux开放文件读写权限
作为root管理员,经常需要增删用户,设置目录的访问权限等。用户管理Linux中账号相关信息是记录在/etc/passwd下,密码记录在/etc/shadow下,群组记录在/etc/group下。新增:useradd -g init_group -G second_group -s shell username:useradd vbird新建用户vbird,所有参数为默认,创建home文件夹,默认权限为700useradd -g users vbird,为用户vbird指定初始群组为use
2020-07-08 18:40:41 7425
原创 c++文件流打开模式与is_open方法
检测流状态的方法在c++中经常需要读写文件,在打开文件进行操作之前,我们需要确保流的打开状态正常。可以通过以下方法判断流状态正常:#include <fstream>ifstream fin;fin.open("demo.txt");// 1st attemptif (fin.fail()) {} // open failed// 2nd attemptif (!fin) {} // open failed// 3rd attemptif (!fin.good()) {
2020-07-05 13:43:06 23615 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人