Chinaunix

标题: 关于getopt函数的问题 [打印本页]

作者: iamyu10    时间: 2008-12-22 13:52
提示: 作者被禁止或删除 内容自动屏蔽
作者: 5毛党党员    时间: 2008-12-22 14:03
f:
:不是就是说明f后面需要相关参数吗?
作者: 5毛党党员    时间: 2008-12-22 14:05
./a.out  -f 123
filename: 123
作者: iamyu10    时间: 2008-12-22 14:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: emacsnw    时间: 2008-12-22 15:08
getopt 调用前加上 opterr = 0;
作者: emacsnw    时间: 2008-12-22 15:11
原帖由 iamyu10 于 2008-12-21 22:56 发表
晕,看来楼上的兄弟没有看清我问什么。

getopt当遇到缺少参数的情况时返回":",
那么在我的switch中就应该执行:printf("缺少参数值\n");这个提示,但是没有。
再有,为什么会多显示一条,认为f是非法参数 ...


参数字符串最开始加上 ':' ,缺少参数才会有 ':' 返回。不然都是返回 '?'.
作者: q82314018    时间: 2008-12-22 15:15
case ':':
                        printf("缺少参数值\n");
                        break;
改成
default:
                        printf("缺少参数值\n");
                        break;
试试
作者: iamyu10    时间: 2008-12-22 15:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: xujg    时间: 2008-12-22 15:40
试试 getopt( ac, av, ":f:ivhka" )




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2