【ARM 嵌入式 C 入门及渐进 16 -- 产生0/1随机数的C代码】


请阅读【嵌入式开发学习必备专栏 】


文章目录

背景

实现一个可以执行的文件 pattern_gen.out, 该可执行文件接收两个参数,第一个参数是文件名 filename,第二个参数是长度len, pattern_gen.out 向filename 中生成随机数,其中随机数只有0和1,其中生成的随机数的个数由命令行参数传入len 决定。

示例

为了创建一个可执行文件 pattern_gen.out,你需要编写一个 C 程序,该程序接收两个命令行参数,并生成指定长度的 0 和 1 随机数序列。以下是一个C语言程序的示例:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char *argv[]) {
    // 检查参数数量
    if (argc != 3) {
        fprintf(stderr, "使用方法: %s <文件名> <长度>\n", argv[0]);
        return 1;
    }
    // 获取参数
    const char *filename = argv[1];
    int len = atoi(argv[2]);
    if (len <= 0) {
        fprintf(stderr, "长度必须是一个正整数\n");
        return 1;
    }
    // 打开文件
    FILE *file = fopen(filename, "w");
    if (!file) {
        perror("无法打开文件");
        return 1;
    }
    // 初始化随机数生成器
    srand(time(NULL));
    // 生成随机数序列并写入文件
    for (int i = 0; i < len; ++i) {
        fprintf(file, "%c", (rand() % 2) ? '1' : '0');
    }
    // 关闭文件
    fclose(file);
    return 0;
}

将这个程序保存到一个文件中,比如命名为 pattern_gen.c,然后使用一个 C 编译器编译它。以 gcc 为例,你可以使用以下命令来编译这个程序:

gcc pattern_gen.c -o pattern_gen.out

这将会产生一个名为 pattern_gen.out 的可执行文件。然后,你可以运行这个程序并传递所需的参数,例如:

./pattern_gen.out output.txt 100

这条命令将会在 output.txt 文件中生成一个长度为 100 的 0 和 1 的随机数序列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

主公讲 ARM

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值