c语言 (1)编写带命令参数的程序实现如下功能,在命令行模式下输入:程序名、参数选项、字符串1、字符串2······(2)运行后能将字符串1之后的字符串以指定的连接形式连接到字符串1中。(3)第一个字符串是程序名,第二个字符以-1开头,后接一个有用户指定的字符作为连接符,后面至少有两个字符串,表示要连接的字符串。(4)命令含义是将后面的字符串通过用户指定的连接符连接起来。如果指定连接符是空格使用-1b
时间: 2024-02-22 20:58:51 浏览: 52
下面是一个实现上述功能的C语言程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]) {
if (argc < 3) {
printf("Usage: %s -1<delimiter> <string1> <string2> ...\n", argv[0]);
return 1;
}
char *delimiter = argv[1] + 2; // 命令行参数的第二个字符是'-1',因此要从第三个字符开始取
if (*delimiter == '\0') { // 如果连接符为空格
delimiter = "-1b";
}
int len = 0;
for (int i = 2; i < argc; i++) {
len += strlen(argv[i]) + strlen(delimiter);
}
char *result = (char *)malloc(len + 1); // 动态分配内存
result[0] = '\0'; // 初始化为空字符串
for (int i = 2; i < argc; i++) {
strcat(result, argv[i]); // 连接字符串
if (i < argc - 1) {
strcat(result, delimiter); // 添加连接符
}
}
printf("%s\n", result);
free(result); // 释放内存
return 0;
}
```
程序的使用方法如下:
```
$ ./program -1, hello, world, how, are, you
hello, world, how, are, you
$ ./program -1b hello world how are you
hello world how are you
```
在命令行中输入程序名、参数选项、要连接的字符串即可完成字符串连接的操作。如果指定的连接符是空格,则使用"-1b"作为连接符。
阅读全文