Linux C 实现命令,加参数,参数后加值,解析命令行!

2017-09-07 16:45:57 +08:00
 mch0dmin

想用 linux C 实现类似这样的命令: mysql -u "root" -p "123456"

请大家给点思路,谢谢!

3879 次点击
所在节点    Linux
10 条回复
Death
2017-09-07 16:54:16 +08:00
getopt
argp
suboptions
这几个库都可以
andychen20121130
2017-09-07 17:02:33 +08:00
main(argc *c ,argv[])
mch0dmin
2017-09-07 17:05:23 +08:00
@Death 主要是想实现-u 后面加值,可以实现吗?
Sanko
2017-09-07 17:06:44 +08:00
getopt +正则捂脸!
tsl0922
2017-09-07 17:08:14 +08:00
给你一个自己写的 C 程序里的 getopt 例子: https://github.com/tsl0922/ttyd/blob/master/src/server.c#L236
seers
2017-09-07 17:09:57 +08:00
```
#include <stdio.h>
int main (int argc, char *argv []) {
int i;
for (i = 1; i < argc; i++) {
printf ("%s%s", argv [i], (i < argc -1) ? " " : "");
}
printf ("\n");
return 0;
}
```
forcecharlie
2017-09-07 18:30:54 +08:00
alqaz
2017-09-08 09:35:15 +08:00
mch0dmin
2017-09-08 09:39:15 +08:00
@forcecharlie 谢谢这么详细的回答,非常感谢,我慢慢消化。
mch0dmin
2017-09-08 09:39:40 +08:00
@tsl0922 非常感谢!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/388961

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX