C main方法接收命令行参数/多个字符串参数的写法
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
文章目录
字符串数组如何作为方法参数传递、如何遍历
可以看到main方法与该方法的参数类型列表实际是一致的。
// Created by wuyujin1997 on 2023/2/7.
#include <stdio.h>
// 遍历字符串数组
void traverseStringArray(int length, char* arr[]) {
printf("字符串数组长度%d\n", length);
for (int i = 0; i < length; i++) {
printf("arr[%d] = %s\n", i, arr[i]);
}
}
int main(int argc, const char * argv[]) {
char* stringArr[] = {"Hello", "World", "你好", "世界"};
int lengthOfStringArr = sizeof(stringArr) / sizeof(stringArr[0]);
traverseStringArray(lengthOfStringArr, stringArr);
return 0;
}
C语言 main方法接收命令行参数并打印参数列表(数组)
写法
// Created by wuyujin1997 on 2023/2/7.
#include <stdio.h>
/// 主方法(程序入口)
/// - Parameters:
/// - argc: 命令行参数的个数(第一个一定是运行的程序文件全路径字符串)
/// - argv: 运行程序的命令字符串列表
int main(int argc, const char * argv[]) {
printf("命令行参数个数%d\n", argc);
for (int i = 0; i < argc; i++) {
printf("第 %d 个参数%s\n", i, argv[i]);
}
return 0;
}
在 macOS 中在 Xcode 中直接运行该程序
命令行参数个数1
第 0 个参数/Users/wuyujin1997/Library/Developer/Xcode/DerivedData/helloc-20230129-bxesqdamdqgrtedzloktwhxhuhvh/Build/Products/Debug/CSDN-copy
这里第0个参数的值就是Xcode实际编译好的程序路径。
通过 Terminal 编译 & 运行程序并传递命令行参数
cc main.c -o main && ./main aa "bb" "wuyujin 1997" "age=25"
注意如果某个参数中含有空格可以用引号将该完整的参数包围起来。双引号/单引号/反引号皆可。"" ''
反引号与~
在同一键位。
wuyujin1997@mac11 CSDN-copy % ls
main.c
wuyujin1997@mac11 CSDN-copy % cc main.c -o main
wuyujin1997@mac11 CSDN-copy % ls
main main.c
wuyujin1997@mac11 CSDN-copy % ./main aa "bb" "wuyujin 1997" "age=25"
命令行参数个数5
第 0 个参数./main
第 1 个参数aa
第 2 个参数bb
第 3 个参数wuyujin 1997
第 4 个参数age=25
wuyujin1997@mac11 CSDN-copy % more main.c
// Created by wuyujin1997 on 2023/2/7.
#include <stdio.h>
/// 主方法(程序入口)
/// - Parameters:
/// - argc: 命令行参数的个数(第一个一定是运行的程序文件全路径字符串)
/// - argv: 运行程序的命令字符串列表
int main(int argc, const char * argv[]) {
printf("命令行参数个数%d\n", argc);
for (int i = 0; i < argc; i++) {
printf("第 %d 个参数%s\n", i, argv[i]);
}
return 0;
}
wuyujin1997@mac11 CSDN-copy %
Xcode 中运行C程序指定命令行参数
这个和 eclipse、 IDEA 在相关需求下的操作几乎相同UI界面按钮位置方面
注意如果某个参数中含有空格应该用引号将该完整的参数扩起来。
这时在 Xcode 中重新运行该程序
命令行参数个数4
第 0 个参数/Users/wuyujin1997/Library/Developer/Xcode/DerivedData/helloc-20230129-bxesqdamdqgrtedzloktwhxhuhvh/Build/Products/Debug/CSDN-copy
第 1 个参数age=25
第 2 个参数name=wu yu jin
第 3 个参数HelloWorld
Program ended with exit code: 0