
C语言
文章平均质量分 66
路过人间本尊
这个作者很懒,什么都没留下…
展开
-
堆(heap)和栈(stack)
1、管理方式不同:栈(stack)由编译器管理;堆(heap)由程序员管理。2、空间大小不同:win32中,堆(heap)可达4G;VC中栈默认1M(可以修改)。3、碎片问题:堆(heap)易产生;栈(stack)不会。4、生长方向不同:堆(heap)生长方向是向上的,也就是向着内存增加的方向;栈(stack)相反。5、分配方式不同:堆(heap)是动态的,没有静态的堆;栈原创 2016-03-31 10:20:41 · 3838 阅读 · 0 评论 -
STM32 OLED LCD 液晶 使用帧缓冲(framebuffer)
STM32 OLED LCD 液晶 使用帧缓冲(framebuffer)以12864 OLED为例(其它类似)X方向有128个像素点,Y方向有64个像素点,只能个一字节一个字节写入,一个字节是8Bit,一个Bit为一个像素点,0为灭,1为亮。即一次写入8个像素点的数据。先了解一下SSD1106的显示结构,显示结构如下定义一个帧缓冲区u8 OLED_FrameBuffer[8][128];//显示缓冲区 ...原创 2020-07-13 11:22:29 · 8390 阅读 · 0 评论 -
Visual Studio 2013 生成sqlite3.dll sqlit.lib
一、从Sqlite官网:http://www.sqlite.org/download.html 下载源码,需要下载两个包:一个源码包一个DLL包解压,源码包需要用到sqlite3.c、sqlite3.h、sqlite3ext.h,DLL包用到sqlite3.def二、打开Visual Studio 2013建立 C++类库工程建立好后,删除工程文件夹下无原创 2016-08-18 15:54:20 · 5844 阅读 · 0 评论 -
VC CString的用法大全
1.CString::IsEmpty检查是否为空字符串2.CString::Left截取前n个字符3.CString::LoadString读取字符串资源4.CString::MakeLower将字符串转换为小写5.CString::MakeReverse字符串顺序转换6.CString::MakeUpper将字符串转换为大写原创 2016-08-31 09:58:00 · 6445 阅读 · 0 评论 -
SQLite3的加密函数说明 sqlite3_key sqlite3_rekey
sqlite3_key是输入密钥,如果数据库已加密必须先执行此函数并输入正确密钥才能进行操作,如果数据库没有加密,执行此函数后进行数据库操作反而会出现“此数据库已加密或不是一个数据库文件”的错误。int sqlite3_key( sqlite3 *db, const void *pKey, int nKey),db 是指定数据库,pKey 是密钥,nKey 是密钥长度。例:sqlite3_转载 2016-08-18 16:49:50 · 13881 阅读 · 0 评论 -
C语言函数sscanf()的用法
sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *format [,argument]... ); 说明: sscanf与scanf类似,都是用于输入的,只是后者以屏转载 2016-04-05 09:16:17 · 5346 阅读 · 0 评论 -
memcpy函数用法
原型:extern void *memcpy(void *dest, void *src, unsigned int count);用法:#include 功能:由src所指内存区域复制count个字节到dest所指内存区域。说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。举例: // memcpy.转载 2016-04-05 09:13:33 · 5546 阅读 · 0 评论 -
memset()函数及其作用
1. memset()函数原型是extern void *memset(void *buffer, int c, int count) buffer:为指针或是数组, c:是赋给buffer的值, count:是buffer的长度. 这个函数在socket中多用于清空数组.如:原型是memset(buffer, 0,转载 2016-04-05 09:11:58 · 5399 阅读 · 0 评论 -
char*,const char*和string的相互转换(转载)
如果有不对的地方或者有更简单的方法,请指出~~1. string转const char* string s = "abc"; const char* c_s = s.c_str();2. const char*转string 直接赋值即可 const char* c_s = "abc"; string s(c_s);转载 2016-03-31 10:44:21 · 5356 阅读 · 0 评论 -
C语言排序法(选择排序法/冒泡排序法)
选择排序法#includevoid main(){int i,j,k,temp,a[10];for(i=0;iscanf("%d",&a[i]);for (i=0;i{k=i; //保存i的值,用k来进行循环排序for(j=i+1;jif(a[k]k=j; //记录最大的位转载 2016-03-31 10:42:44 · 3889 阅读 · 0 评论 -
C语言字符串查找位置
//在s1中查找s2,如果有返回s2在s1中的开始时的字节数,如果没有返回0//例:int i = strstr1("abcdefg","cde");//i=3//int i = strstr1("abcdefg","cdf");//i=0//int i = strstr1("abcdefg","fg");//i=6//int i = strstr1("abcdef转载 2016-03-31 10:40:21 · 5454 阅读 · 0 评论 -
C语言位运算符:与、或、异或、取反、左移和右移
以下是对C语言中的位运算符:与、或、异或、取反、左移与右移进行了详细的分析介绍,需要的朋友可以过来参考下位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。C语言提供的位运算符列表:运算符 含义 描述& 按位与 如果两个相转载 2016-03-31 10:23:47 · 3819 阅读 · 0 评论