当前位置: 首页 > news >正文

C 语言实现在终端里输出二维码

Mac 环境安装二维码库

brew install qrencode
  • 安装过程报权限问题执行以下命令
sudo chown -R 用户名 /usr/local/include /usr/local/lib
chmod u+w /usr/local/include /usr/local/lib
#include <stdio.h>
#include <qrencode.h>void print_qr_code(QRcode *qrcode) {int x, y;for (y = 0; y < qrcode->width; y++) {for (x = 0; x < qrcode->width; x++) {// 打印二维码模块,使用 '██' 表示黑色模块,使用 '  ' 表示白色模块if (qrcode->data[y * qrcode->width + x] & 1) {printf("██");} else {printf("  ");}}printf("\n");}
}int main(int argc, char *argv[]) {if (argc != 2) {fprintf(stderr, "Usage: %s <text>\n", argv[0]);return 1;}const char *text = argv[1];QRcode *qrcode = QRcode_encodeString(text, 0, QR_ECLEVEL_L, QR_MODE_8, 1);if (qrcode == NULL) {fprintf(stderr, "Failed to generate QR code\n");return 1;}print_qr_code(qrcode);QRcode_free(qrcode);return 0;
}
  • 编译执行
# 编译
gcc -o demo demo.c -L/usr/local/opt/qrencode/lib -lqrencode -I/usr/local/opt/qrencode/include
# 执行
./demo "https://blog.csdn.net/weixin_42607526"
  • 输出结果

在这里插入图片描述

http://www.lryc.cn/news/367323.html

相关文章:

  • nodejs---fs模块,文件读写操作详解,自定义一个文件写入方法
  • Linux(Rocky)下 如何输入中文(切换中文输入法)教程
  • Python中包(package)与模块(module)的概念 以及 import 问题
  • Android常见内存泄漏场景总结
  • 未来已来:Angular、React、Vue.js——前端框架的三大巨头
  • Mybatis06-动态SQL
  • 26-LINUX--I/O复用-select
  • spring源码解析-(2)Bean的包扫描
  • Java 数学计算 - Random类
  • Ubuntu22.04之解决:无法关机和重启问题(二百四十三)
  • 大学数字媒体艺术设计网页设计试题及答案,分享几个实用搜题和学习工具 #媒体#职场发展
  • 【ArcGIS微课1000例】0119:TIFF与grid格式互相转换
  • B3870 [GESP202309 四级] 变长编码
  • WordPress网站更换域名后如何重新激活elementor
  • linux cron 执行url
  • 压缩视频在线压缩网站,压缩视频在线压缩工具软件
  • linux经典例题编程
  • 二叉树的实现(初阶数据结构)
  • C++笔试强训day41
  • 【JavaScript】内置对象 - 字符串对象 ⑤ ( 判断对象中是否有某个属性 | 统计字符串中每个字符出现的次数 )
  • Linux环境下测试服务器的DDR5内存性能
  • 19、matlab信号预处理中的中值滤波(medfilt1()函数)和萨维茨基-戈雷滤波滤(sgolayfilt()函数)
  • Scala 练习一 将Mysql表数据导入HBase
  • 前端工程化:基于Vue.js 3.0的设计与实践
  • Linux☞进程控制
  • mybatis离谱bug乱转类型
  • 视频监控管理平台LntonCVS视频汇聚平台充电桩视频监控应用方案
  • VS环境Python:深度探索与实用指南
  • SpringBoot整合SpringSecurit(二)通过token进行访问
  • 【算法训练 day50 打家劫舍、打家劫舍Ⅱ、打家劫舍Ⅲ】