c++,redis,mysql,json格式

c++的编写用vs:下载地址:
https://visualstudio.microsoft.com/zh-hans/downloads/

c++连接redis:

先在下面地址下载一个包
https://gitee.com/xungen/redisconnect#1%E4%B8%8B%E8%BD%BD%E6%BA%90%E7%A0%81
我存到了
在这里插入图片描述

然后打开vs软件,
在这里插入图片描述
新创一个项目,点击项目的右键
在这里插入图片描述
然后把目录写进去
在这里插入图片描述
这样就可以导包了,

#include "RedisConnect.h"
#include <iostream>
int main(int argc, char** argv)
{
	string val;

	//初始化连接池
	RedisConnect::Setup("127.0.0.1", 6379,"password");

	//从连接池中获取一个连接
	shared_ptr<RedisConnect> redis = RedisConnect::Instance();

	//设置一个键值
	redis->set("test_c++_key", "1111");

	//获取键值内容
	redis->get("test_c++_key", val);
	cout << val << endl;
	

	//调用getStatus方法获取ttl命令执行结果
	//printf("超时时间:%d\n", redis->getStatus());

	//执行del命令删除键值
	//redis->execute("del", "key");

	

	return 0;
}

linux操作redis

在这里插入图片描述
在一个文件夹里面创建一个cpp文件和config文件夹
把上述下载的redisconnect.zip放到config文件夹里面
编写cpp文件:

#include "RedisConnect.h"
#include <iostream>
int main(int argc, char** argv)
{
	string val;
	RedisConnect::Setup("127.0.0.1", 6379,"1234567");

	
	shared_ptr<RedisConnect> redis = RedisConnect::Instance();

	redis->set("test_c++_key", "1111");
	redis->get("test_c++_key", val);

	

	return 0;
}

然后在命令行里面输入
g++ -std=c++11 -I /root/c++/config/redisconnect check_database.cpp -o test便可以运行。

windows的c++通过vs2019连接mysql

windows安装了mysql后会有以下目录
在这里插入图片描述

1、新创一个c++项目
在这里插入图片描述
2、在项目点击右键
在这里插入图片描述
加入windows安装了的mysql目录
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在项目配置里面加入以上的目录后加可以用mysql了
编写一个cpp文件
写入以下代码

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include "mysql.h"


using namespace std;

#pragma comment(lib, "libmysql.lib")


int main() {
	MYSQL* conn;
	MYSQL_RES* res=NULL;
	const char* server = "127.0.0.1";
	const char* user = "root";
	const char* password = "1234567";
	const char* database = "springtest";
	conn = mysql_init(NULL);
	if (!mysql_real_connect(conn, server, user, password, database, 3306, NULL, 0))
	{
		std::cout << "没连接上" << endl;
		return -1;
	}
	mysql_query(conn, "set names gbk");
	mysql_query(conn, "select * from users");

	res = mysql_store_result(conn);
	//unsigned int rowcount = mysql_num_rows(res);


	unsigned int fieldcount = mysql_num_fields(res);

	MYSQL_FIELD* field = NULL;
	for (int i = 0; i < fieldcount; i++) {
		field=mysql_fetch_field_direct(res, i);
		cout << field->name << endl;
	}
	
	MYSQL_ROW row ;
	row = mysql_fetch_row(res);
	
	while (row != NULL)
	{
		for (unsigned int i = 0; i < fieldcount; i++)
		{
			cout << row[i] << endl;
		}
		row = mysql_fetch_row(res);
	}
	char sql[100];
	//将要执行的SQL语句放入数组中
	sprintf(sql, "INSERT INTO springtest.users (`id`, `name`, `email`) VALUES ('%d', '%s', '%s');", 2, "3", "32");
	cout << sql << endl;
	
	if (mysql_query(conn, sql))
	{
		std::cout << mysql_error(conn) << endl;
	}
	else {
		std::cout << "插入成功" << endl;
	}

	//mysql_commit(conn);
	
	mysql_free_result(res);
	mysql_close(conn);
	mysql_server_end();
	
	return 0;
}

好了,下面到linux连接

linux的c++连接mysql

我的linux是centos

先看命令
g++ -std=c++11 -I /usr/include/mysql -L /usr/lib/mysql test2.cpp -o test2 -lmysqlclient,
这条命令很明显是找到两个mysql包然后实现软连接,
centos,查看mysql的状态,一定要启动成功,才能运行c++脚本,也可以启动成功后,把它停掉,然后照样可以运行c++脚本,总之第一次需要启动mysql成功
centos7安装mysql的流程

yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
yum install mysql-community-server
yum install mysql-community-devel

一定要安装mysql-community-devel,否则没有 /usr/include/mysql

安装成功后输入whereis mysql
在这里插入图片描述

然后建立一个软连接
ln -s /usr/lib64/mysql/* /usr/lib/

做好便可以运行c++脚本了,代码和上面的一样
g++ -std=c++11 -I /usr/include/mysql -L /usr/lib/mysql test2.cpp -o test2 -lmysqlclient

windows的c++使用json

https://github.com/open-source-parsers/jsoncpp到这里面下载
然后打开cmd命令行,
进入jsoncpp-master目录
输入python amalgamate.py
就会在jsoncpp-master目录里面生成一个dist文件夹
在这里插入图片描述
打开它,把整个文件夹和cpp文件拖进vsc++项目里面的头文件里面
在这里插入图片描述
在项目里面输入代码

#include "RedisConnect.h"
#include <iostream>
#include <json/json.h>
//下面的include用于linux
//#include<jsoncpp.cpp>   
using namespace std;
int main(int argc, char** argv)
{
	string stock_name = "test_key";
	RedisConnect::Setup("127.0.0.1", 6379);
	shared_ptr<RedisConnect> redis = RedisConnect::Instance();
	Json::Value root;
	Json::Value root2;
	for (int i = 0; i < 7; i++) {
		root2["all2"] = Json::Value();
		root2["all2"].append(i);
		root["all"].append(root2["all2"]);
	}
	cout << string(stock_name) << endl;

	string strValue = root.toStyledString();
	redis->execute("hset", "test", stock_name, strValue);

	return 0;
}

运行后在redis-cli打开的结果
在这里插入图片描述
你用其他的语言提取的话,就可以提取出来一个二维数组了

linux的c++使用json

同样是那个dist文件夹
在这里插入图片描述
放到一个目录下面,同时创建一个cpp文件
在里面输入代码

#include <iostream>
#include <json/json.h>
#include<jsoncpp.cpp>
using namespace std;
int main(int argc, char** argv)
{
	Json::Value root;
	root["name"] = Json::Value("qeqw");
	cout << root << endl;

	return 0;
}

然后输入命令行
g++ -std=c++11 -I /root/c++/dist check_database.cpp -o check_database
就完成啦,自己注意目录哦,百度里面全部的人都太乱了,而且又复杂,我小白花了几天搞出来的,我特别讨厌百度里面猥琐的步骤,最后还不成功,有点小恶心,这些办法简单很多。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值