资源简介
C语言生成二维码的方法
代码片段和文件信息
/*
* qrencode - QR Code encoder
*
* Binary sequence class.
* Copyright (C) 2006-2011 Kentaro Fukuchi
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License or any later version.
*
* This library is distributed in the hope that it will be useful
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not write to the Free Software
* Foundation Inc. 51 Franklin St Fifth Floor Boston MA 02110-1301 USA
*/
#if HAVE_CONFIG_H
# include “config.h“
#endif
#include
#include
#include
#include “bitstream.h“
BitStream *BitStream_new(void)
{
BitStream *bstream;
bstream = (BitStream *)malloc(sizeof(BitStream));
if(bstream == NULL) return NULL;
bstream->length = 0;
bstream->data = NULL;
return bstream;
}
static int BitStream_allocate(BitStream *bstream int length)
{
unsigned char *data;
if(bstream == NULL) {
return -1;
}
data = (unsigned char *)malloc(length);
if(data == NULL) {
return -1;
}
if(bstream->data) {
free(bstream->data);
}
bstream->length = length;
bstream->data = data;
return 0;
}
static BitStream *BitStream_newFromNum(int bits unsigned int num)
{
unsigned int mask;
int i;
unsigned char *p;
BitStream *bstream;
bstream = BitStream_new();
if(bstream == NULL) return NULL;
if(BitStream_allocate(bstream bits)) {
BitStream_free(bstream);
return NULL;
}
p = bstream->data;
mask = 1 << (bits - 1);
for(i=0; i if(num & mask) {
*p = 1;
} else {
*p = 0;
}
p++;
mask = mask >> 1;
}
return bstream;
}
static BitStream *BitStream_newFromBytes(int size unsigned char *data)
{
unsigned char mask;
int i j;
unsigned char *p;
BitStream *bstream;
bstream = BitStream_new();
if(bstream == NULL) return NULL;
if(BitStream_allocate(bstream size * 8)) {
BitStream_free(bstream);
return NULL;
}
p = bstream->data;
for(i=0; i mask = 0x80;
for(j=0; j<8; j++) {
if(data[i] & mask) {
*p = 1;
} else {
*p = 0;
}
p++;
mask = mask >> 1;
}
}
return bstream;
}
int BitStream_append(BitStream *bstream BitStream *arg)
{
unsigned char *data;
if(arg == NULL) {
return -1;
}
if(arg->length == 0) {
return 0;
}
if(bstream->length == 0) {
if(BitStream_allocate(bstream arg->length)) {
return -1;
}
memcpy(bstream->data arg->data arg->length);
return 0;
}
data = (unsigned char *)malloc(bstream->length + arg->length);
if(data == NULL) {
return -1;
}
memcpy(data bstream->data bstream->length);
memcpy(data + bstream->length arg->data arg->length);
f
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-02-25 22:31 QRcode\
文件 4310 2014-07-24 20:17 QRcode\bitstream.c
文件 1432 2014-07-24 20:17 QRcode\bitstream.h
文件 7274 2015-08-10 13:32 QRcode\mask.c
文件 1560 2014-07-04 08:43 QRcode\mask.h
文件 4276 2015-08-10 13:32 QRcode\mmask.c
文件 1404 2014-07-04 08:43 QRcode\mmask.h
文件 7476 2015-08-20 11:46 QRcode\mqrspec.c
文件 4774 2014-07-04 08:43 QRcode\mqrspec.h
文件 21241 2015-08-22 09:54 QRcode\qrencode.c
文件 21602 2015-08-20 09:58 QRcode\qrencode.h
文件 40683 2015-08-20 11:53 QRcode\qrinput.c
文件 3811 2015-08-20 09:32 QRcode\qrinput.h
文件 16277 2015-08-21 09:46 QRcode\qrspec.c
文件 5832 2014-07-24 20:17 QRcode\qrspec.h
文件 59427 2015-08-21 17:25 QRcode\QR_Encode.c
文件 3508 2016-02-25 22:31 QRcode\QR_Encode.h
文件 9508 2015-08-11 12:18 QRcode\rscode.c
文件 1468 2014-07-24 20:17 QRcode\rscode.h
文件 8539 2015-08-20 11:08 QRcode\split.c
文件 1913 2014-07-24 20:17 QRcode\split.h
相关资源
- 二维码驱动C语言
- 禁忌搜索算法C语言程序
- C++语言程序设计 郑莉 第四版 课后题
- C语言课程设计报告-图书管理系统.z
- booth算法C语言实现
- 电梯模拟C语言数据结构中国地质大学
- CVSD解码c语言代码
- 黑白棋游戏c语言代码
- 学生成绩管理系统v1.0
- c语言综合程序--ATM机
- STM32F3 LCD1602 I2C驱动代码 C语言
- 加速度积分求速度和位移的c语言算法
- 博弈树树的c实现
- 模糊控制算法的c语言实现
- 清华 严蔚敏 《数据结构(c语言版)
- 约瑟夫问题C语言实现
- C语言MP3播放器源代码
- 职工信息管理系统C语言版
- p2p的C语言编写,LINUX可执行程序+运行
- 用回溯法、蛮力法解决01背包问题
- p2p技术C语言源码
- 6步学会VS2010环境下C语言DLL封装.pdf
- 汉诺塔的C语言可视化实现使用EasyX图
- 8255 键盘接口C语言编程
- 最短剩余时间优先算法SRTFC语言代码
- 决策树实现算法C语言编写
- C语言 小波变换 图像 去噪 源代码
- c语言 链表排序--
- C语言版贪吃蛇设计思路及源代码
- 动态分区分配方式模拟c语言
评论
共有 条评论