c/c++编程
wuyu92877
这个作者很懒,什么都没留下…
展开
-
C++ Unicode/UTF-8中文 相互转换
C++ Unicode/UTF-8中文 相互转换需求一中文 ”你好啊“ ----------unicode----------> \u4F60\u597D\u554Aunicode编码字符串转中文。例: “4F60597D554A” —> "你好啊”解决方式需求二unicode 字节数组转中文例:0x89 0x7F 0x5B 0x89 0x8D 0xEF —> 西安路解决方式需求三 中英文转unicodeasd你好阿 ----> 006.转载 2021-04-14 18:31:38 · 3172 阅读 · 3 评论 -
htonl、ntohl、htons、ntohs函数实现
typedef unsigned short int uint16;typedef unsigned long int uint32;//短整型大小端互换#defineBigLittleSwap16(A) ((((uint16)(A) & 0xff00) >> 8) | \(((uint16)(...转载 2019-05-16 19:40:26 · 800 阅读 · 0 评论 -
C语言无符号整型转换字符串,字符串转换无符号整型
char* UInt32toStr(unsigned int n){ char buf[10] = ""; static char str[10]=""; unsigned int i = 0; unsigned int len = 0; unsigned int temp = n < 0 ? -n: n; // temp为n的绝对值 if(n==0){ str[0]...转载 2018-04-23 10:58:49 · 9163 阅读 · 0 评论 -
Linux C 单向链表1
线性表存储结构分为顺序存储、链式存储。 顺序存储的优点: 顺序存储的缺点: 链表就是典型的链式存储,将线性表L = (a0,a1,a2,........an-1)中个元素分布在存储器的不同存储块,成为结点(Node),通过地址或指针建立他们之间的练习,所得到的存储结构为链表结构。表中元素ai的结点形式如下:其中,结点的data域存放数据元素a转载 2017-11-17 11:56:41 · 450 阅读 · 0 评论 -
libiconv 交叉编译和调用方法(UTF-8和GB2312转换)
1、解压 libiconv-1.14.tar.gz;进入libiconv-1.14目录2、./configure --host=arm-linux-none-gnueabi-gcc --enable-shared --enable-static --prefix=/opt/libiconv/ /*--enable-shared 共享 --enable-static 生成静态库*/原创 2016-09-08 16:58:07 · 8505 阅读 · 0 评论 -
float类型做为参数传递过程中出现的问题
编程中发现float类型数据在跨文件的值调用中会发生异常。举例如下:test.c[cpp] view plain copyvoid a(float x1) { printf("%f", x1); } void b(float x1) { a(x1); } main.c转载 2017-01-19 11:43:45 · 9162 阅读 · 2 评论 -
C语言宏定义中 "#","#@"和 "##"的用法
1、一般用法:# 把宏参数变为一个字符串,#@ 把宏参数变为一个字符,## 把两个宏参数贴合在一起。#include #include #define STR(s) #s // #与参数之间可以有空格#define TOCHAR(c) #@c #define CONS(a,b) int(a##e##b)原创 2016-12-27 10:25:32 · 589 阅读 · 0 评论 -
16进制和float之间转换
#include float Hex_To_Decimal(unsigned char *Byte,int num)//十六进制到浮点数{// char cByte[4];//方法一// for (int i=0;i// {// cByte[i] = Byte[i];// }// // float转载 2016-12-21 16:19:31 · 16818 阅读 · 0 评论 -
分析命令行参数 (getopt函数)
#include#includeint main(int argc,char **argv){ int ch; opterr = 0; while((ch = getopt(argc,argv,”a:bcde”))!= -1) switch(ch) { case ‘a’: printf(“option a:’%s’\n”,原创 2016-10-17 15:51:14 · 298 阅读 · 0 评论 -
C语言中可变参数的
#include#includeint my_printf( const char *format,……){va_list ap;int retval;va_start(ap,format);printf(“my_printf( ):”);retval = vprintf(format,ap);va_end(ap);return retval;}ma原创 2016-10-17 15:12:02 · 293 阅读 · 0 评论 -
AAC帧格式及编码介绍
参考资料:AAC以adts格式封装的分析:http://wenku.baidu.com/view/45c755fd910ef12d2af9e74c.htmlaac编码介绍:http://wenku.baidu.com/view/0de48034f111f18583d05a65.htmlAAC音频压缩编码标准的ADTS与LATM的格式分析:http://wenku.baidu.c转载 2016-09-08 17:17:09 · 653 阅读 · 0 评论 -
函数指针用法
函数指针是指向函数的指针变量,即本质是一个指针变量。 int (*f) (int x); /*声明一个函数指针 */ f=func; /*将func函数的首地址赋给指针f */ 指向函数的指针包含了函数的地址,可以通过它来调用函数。声明格式如下: 类型说明符 (*函数名)(参数) 其实这里不能称为函数名,应原创 2016-01-08 11:30:27 · 368 阅读 · 0 评论 -
函数中不定参数的处理(函数参数个数不定)
C函数要在程序中用到以下这些宏: void va_start( va_list arg_ptr, prev_param ); type va_arg( va_list arg_ptr, type ); void va_end( va_list arg_ptr ); va在这里是variable-argument(可变参数)的意思. 这些宏定义在stdarg.h中,所以用原创 2016-01-08 10:43:42 · 2364 阅读 · 0 评论 -
C++中的static关键字
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下:[cpp] view plainc转载 2014-03-10 09:11:41 · 702 阅读 · 0 评论 -
带参数的main()函数
int main(int argc,char **argv) 这里面的**argv含义是用来传递参数的,假如你编译成的文件名是a.exe,那么在命令提示符下可以通过a.exe12 34来向程序传递参数,这时两个参数就会传递到字符串数组argv中,注意此时实际传递了三个参数,第一个参数是文件名,第二个参数是12,第三个是 34,而argc就是参数个数。 in原创 2012-12-12 10:24:08 · 733 阅读 · 0 评论