c语言 编写带命令参数的程序实现如下功能,在命令行模式下输入:程序名、参数选项、字符串1、字符串2······运行后能将字符串1之后的字符串以指定的连接形式连接到字符串1中。第一个字符串是程序名,第二个字符串以-1开头,后接一个由用户指定的字符作为连接符,后面至少有两个字符串,表示要连接的字符串。命令含义是将后面的字符串通过用户指定的连接符连接起来。如果指定连接符是空格则使用-1b。
时间: 2024-02-22 16:56:44 浏览: 68
好的,这是一个带命令参数的程序,以下是代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]){
char *delimiter; // 连接符
char result[1000]; // 连接后的字符串
int i;
if(argc < 4){ // 参数不足
printf("请按照以下格式输入命令:程序名 -1 连接符 字符串1 字符串2 ...\n");
return 1;
}
if(strcmp(argv[2], "-1") == 0){ // 检查参数选项
if(argc < 5){ // 参数不足
printf("请指定连接符!\n");
return 1;
}
delimiter = argv[3]; // 获取连接符
}
else{
printf("参数选项错误!\n");
return 1;
}
if(strcmp(delimiter, "-1b") == 0){ // 检查连接符是否为空格
delimiter = " "; // 设置为空格
}
strcpy(result, argv[4]); // 将第一个字符串赋值给结果
for(i = 5; i < argc; i++){
strcat(result, delimiter); // 连接连接符
strcat(result, argv[i]); // 连接字符串
}
printf("%s\n", result);
return 0;
}
```
程序首先检查参数个数是否足够,然后检查参数选项是否正确,接着获取连接符,将第一个字符串赋值给结果。然后检查连接符是否为空格,如果是则将连接符设置为空格。然后循环遍历后面的字符串,依次连接连接符和字符串。最后输出连接后的结果。
阅读全文