背景
实现一个可以执行的文件 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 的随机数序列