c语言如何通过命令行参数读取两个二进制字符串
时间: 2023-07-26 17:24:19 浏览: 133
可以通过`main()`函数的参数`argc`和`argv[]`来读取命令行参数。其中,`argc`表示命令行参数的个数,`argv[]`是一个字符串数组,存储了命令行参数的值。第一个参数`argv[0]`表示程序本身的名称,而从`argv[1]`开始才是我们传入的命令行参数。
对于读取两个二进制字符串的情况,我们可以在命令行中传入这两个字符串,然后在程序中进行处理。
下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LEN 100
int main(int argc, char *argv[]) {
if (argc != 3) {
printf("Usage: %s binary_str1 binary_str2\n", argv[0]);
return 1;
}
char *str1 = argv[1];
char *str2 = argv[2];
int len1 = strlen(str1);
int len2 = strlen(str2);
if (len1 != len2) {
printf("Error: the length of the two binary strings must be the same.\n");
return 1;
}
for (int i = 0; i < len1; i++) {
if (str1[i] != '0' && str1[i] != '1' || str2[i] != '0' && str2[i] != '1') {
printf("Error: invalid binary string.\n");
return 1;
}
}
printf("The two binary strings are: %s and %s\n", str1, str2);
return 0;
}
```
在命令行中执行以下命令:
```
$ ./binary_strings 110010 101101
```
输出结果为:
```
The two binary strings are: 110010 and 101101
```
阅读全文