![linux中 关于if(!strcmp(argv[i], "-s"))的用法 请问这之中的-s的具体含义 谢谢,第1张 linux中 关于if(!strcmp(argv[i], "-s"))的用法 请问这之中的-s的具体含义 谢谢,第1张](/aiimages/linux%E4%B8%AD+%E5%85%B3%E4%BA%8Eif%28%21strcmp%28argv%5Bi%5D%2C+%26quot%3B-s%26quot%3B%29%29%E7%9A%84%E7%94%A8%E6%B3%95+%E8%AF%B7%E9%97%AE%E8%BF%99%E4%B9%8B%E4%B8%AD%E7%9A%84-s%E7%9A%84%E5%85%B7%E4%BD%93%E5%90%AB%E4%B9%89+%E8%B0%A2%E8%B0%A2.png)
-sstrcmp语句
将argv[i]地址开始的字符串与-s字符串做比较,两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。
返回比较结束时的ASCII值,-的ASCII值是45H,s的ASCII值是115H
比如这语句存在main函数中,编译后成可执行程序test,运行时./test
可接参数,参数传入argv数组。比如./test
-v
则strcmp返回0即if语句条件满足;比如./test
abc
则strcmp返回ASCII差值,if语句条件不满足。你可以试试。if [ $test_num -gt $small_num -a $test_num -lt $big_num ]then
#do some_cmd
fi
test_num是你要验证的数字
small_num是要验证范围的下限
big_num是要验证范围的上限
-a表示与关系


评论列表(0条)