这次我们使用tinyxml2 和nlohmann json 做转换,需要将两者的头文件和源代码文件下载,并在编译中include。
nolhmann json 需要C++ 11 的支持,gcc版本需要在4.7以上。
可以使用下面命令编译:
g++ -std=c++11 xmljson.cpp tinyxml2.cpp -I./
./a.out
{"appid":"appid-value111111","mch_id":"mch_id-value22222","nonce_str":"nonce_str-value3333333","sign":"sign-value5555555555","transaction_id":"transaction_id-value44444444"}
<xml>
<appid>appid-value111111</appid>
<mch_id>mch_id-value22222</mch_id>
<nonce_str>nonce_str-value3333333</nonce_str>
<sign>sign-value5555555555</sign>
<transaction_id>transaction_id-value44444444</transaction_id>
</xml>
C++常用函数 XML JSON格式转换https://www.cppentry.com/benc...
开发资料https://www.cppentry.com
知识点扩展:C++常用的系统函数
数学<math.h>:
1 三角函数
double sin (double);
double cos (double);
double tan (double);
2 反三角函数
double asin (double); 结果介于[-PI/2, PI/2]
double acos (double); 结果介于[0, PI]
double atan (double); 反正切(主值), 结果介于[-PI/2, PI/2]
double atan2 (double, double); 反正切(整圆值), 结果介于[-PI/2, PI/2]
3 双曲三角函数
double sinh (double);
double cosh (double);
double tanh (double);
4 指数与对数
double exp (double x); e的x次幂
double pow (double x, double y); x的y次幂
double sqrt (double);
double log (double x); 以e为底的对数,即ln x
double log10 (double x);log10(x) 以10为底。
没有以2为底的函数但是可以用换底公式解 决:log2(N)=log10(N)/log10(2)
5 取整
double ceil (double); 不小于x的最小整数
double floor (double); 不大于x的最大整数
6 绝对值
int abs(int);整型
long labs(long);长整型
double fabs (double);浮点型
7 标准化浮点数
double frexp (double f, int p); 标准化浮点数, f = x 2^p, 已知f求x, p ( x介于[0.5, 1] )
double ldexp (double x, int p); 与frexp相反, 已知x, p求f
8 取整与取余
double modf (double, double*); 将参数的整数部分通过指针回传, 返回小数部分
double fmod (double, double); 返回两参数相除的余数
9.平方根
double sqrt(double x);
字符<ctype.h>:
int isalpha(int c);c是否为字母
int isdigit(int c);c是否为数字
int tolower(int c);将c转换为小写字母
int toupper(int c);将c转换为大写字母
字符串<string.h>:
char strcpy(char sl,char s2);将字符串s2复制给s1,即覆盖
unsigned strlen(char sr);求字符串str长度
内存操作<memory.h>:
void memcpy(void d,void *s,int c);将s指向的内存区域的c个字节复制到d指向的区域










