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"
  • 输出结果

在这里插入图片描述

相关推荐

  1. C#实现批量生成

    2024-06-08 23:58:06       34 阅读
  2. C++】如何输入输出未知长度的数组?

    2024-06-08 23:58:06       95 阅读
  3. C语言数组

    2024-06-08 23:58:06       46 阅读
  4. C/C++利用指针输出数组元素

    2024-06-08 23:58:06       40 阅读
  5. C 语言实例 - 输出数组

    2024-06-08 23:58:06       7 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-08 23:58:06       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-08 23:58:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-08 23:58:06       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-08 23:58:06       20 阅读

热门阅读

  1. TCP为什么握手是三次,而挥手是四次

    2024-06-08 23:58:06       10 阅读
  2. [力扣题解] 617. 合并二叉树

    2024-06-08 23:58:06       9 阅读
  3. Android13 调试,解锁bootloader

    2024-06-08 23:58:06       11 阅读
  4. 发送TCP reset (RST) 包打断TCP连接

    2024-06-08 23:58:06       11 阅读
  5. unity 制作表格 配置

    2024-06-08 23:58:06       12 阅读
  6. 有哪些针对平台端口的常见攻击手段

    2024-06-08 23:58:06       10 阅读
  7. 第6章 支持向量机

    2024-06-08 23:58:06       7 阅读
  8. C#中的as和is

    2024-06-08 23:58:06       9 阅读
  9. 麒麟系统 3588 环境安装手册

    2024-06-08 23:58:06       11 阅读
  10. 华为OD技术面试-最长回文串-2024手撕代码真题

    2024-06-08 23:58:06       10 阅读