C++ 制作 json 数据 并 传送给服务端(Server) 的 php

json数据格式,这里举个基础的例子:

      {"name":"LGH"}

在C++里面,我用个函数把特定的数据组合成 json

 1 void toJson(int count){
 2     char json[100];
 3     char result[200] = "{";
 4     char* temp = "\"count\"";
 5     char* temp_1 = "\"";
 6     char* temp_2 = "}";
 7     //cout<<count;
 8     _itoa(count,json,10);
 9     strcat(result,temp);
10     strcat(result,":");
11     strcat(result,temp_1);
12     strcat(result,json);
13     strcat(result,temp_1);
14     strcat(result,temp_2);
15     //cout<<"toJson="<<result<<endl;
16     sendMessage(result);//自定义函数,传送数据
17 }

注意我里面的传送函数,选择在里面执行,原因是,由 toJson 返回 char* result 会造成内存溢出,后来这样做,变为可以。

下面是sendMassage() 函数

 1 void sendMessage(char *Information){
 2     // Powered by LGH - 2014
 3     //char url_for_lgh_connect_database[200000]="http://linguanh.nat123.net/updata.php?id=";//url
 4     char url_for_lgh_connect_database[200000]="http://localhost:8080/C++_face.php?DB=";//链接
 5     const char *x="From_AF";
 6 
 7     //Information=(char*)malloc(sizeof(char)*(102400));    
 8     strcat(url_for_lgh_connect_database,Information);
 9     WCHAR exchange_text_from_url[256],exchange_text_from_x[256];//宽字符char,如果爆红,修改项目的编码为多字节就可以了
10     LPCWSTR py = exchange_text_from_url;
11     LPCWSTR pz = exchange_text_from_x;
12 
13     MultiByteToWideChar( 0, 0,x, -1,exchange_text_from_x, 64 );//WCHAR to LPCWSTR,转化
14 
15     MultiByteToWideChar( 0, 0,url_for_lgh_connect_database, -1, exchange_text_from_url, 256 );
16 
17     if(InternetAttemptConnect(0) != ERROR_SUCCESS){
18         cout<<"你的电脑无法连接互联网,请开启联网功能。"<<endl;
19         cout<<"(Your computer can not connect the internet,please try to fix it!)"<<endl;
20     }
21     else{
22         //头文件 winInet 的 API 函数,访问一个链接
23         if(InternetOpenUrl(InternetOpen(x,INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,NULL),url_for_lgh_connect_database,NULL,NULL,NULL,NULL)==NULL){
24             sendMessage(Information);
25         }
26         else{
27             //cout<<"result="<<Information<<endl;
28             //cout<<url_for_lgh_connect_database<<endl;
29             cout<<"信息已经传送给Lgh的数据库了。(The information has been sent to Lgh's database.)"<<endl;
30         }
31     }    
32     //free(Information);
33     //Information=NULL;
34 }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

安全科普:SQLi Labs 指南 Part 1

译者:SQL Libs一直也没看到有人写过比较完整的指南,只有作者在自己的博客上帖了一些tip和一些视频,偶然看到一篇文章在写这个,便拿过来翻一下,以作参考,原...

1759
来自专栏c#开发者

Oracle9i第2版中的UNT_FILE提高了文件输入/输出(I/O)功能。

技术 PL/SQL 提高文件操作功能 作者:Steven Feuerstein Oracle9i第2版中的UNT_FILE提高了文件输入/输出(I/O)功...

3254
来自专栏菩提树下的杨过

mysql: Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for opera

昨天把mysql里所有table的varchar字段的字符集,批量换成了utf8mb4/utf8mb4_unicode_ci ,以便能保存一些emoji火星文 ...

20510
来自专栏听雨堂

Sqlite的多表连接更新

最近处理一个较大数据的sqlite库,基础表300万条,结果表30万条左右,我的笔记本跑起来还算流畅。最后结果,需要两个表连接,把另一个表的计算结果更新过来,却...

1769
来自专栏晓晨的专栏

Autofac高级用法之动态代理

1293
来自专栏程序员的SOD蜜

PostgreSQL的PDF.NET驱动程序构建过程

目前有两种主要的PostgreSQL的.NET驱动程序,分别是Npgsql和dotConnector for PostgreSQL(以下简称dotConnect...

2127
来自专栏Jerry的SAP技术分享

如何使用代码获得一个function module的Where Used List

如果要获得一个function module的Where Used List,我们通常用的办法是使用ABAP workbench里提供的功能。

4108
来自专栏刘望舒

Android PMS的创建过程

PMS的创建过程分为两个部分进行讲解,分别是SyetemServer处理部分和PMS构造方法。其中SyetemServer处理部分和AMS和WMS的创建过程是类...

763
来自专栏Golang语言社区

GO语言常用的文件读取方式

本文实例讲述了GO语言常用的文件读取方式。分享给大家供大家参考。具体分析如下: Golang 的文件读取方法很多,刚上手时不知道怎么选择,所以贴在此处便后速查。...

4067
来自专栏web编程技术分享

【手把手】JavaWeb 入门级项目实战 -- 文章发布系统 (第四节)

3605

扫码关注云+社区