如何在参数中查找末尾处指定的字符串?

灼眼的超哥 2010-10-27 08:30:38
如题,假如运行程序时带参数“./a.txt”,那么,就会在字符串末尾处找到.txt并执行相关操作。
查找的字符串有:“.txt”“.gz”“.bz2”“.7z”这四个,如果带参数运行程序后,没有在参数里的末尾处找到这四个的任何一个,那么,就会print("文件格式不被支持")。找到的话,例如是.7z,就printf("文件格式是.7z"),其它格式类似。
请问,如何实现?
...全文
145 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ganjianh8 2010-10-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 liuchao35758600 的回复:]
引用 2 楼 ganjianh8 的回复:

C/C++ code

if(!memcmp(str, ".7z\0", 4))
{
printf(".7z");
}


下面一样

str?
int main (int argc ,char* argv[]),能不能将str用argv代替?
[/Quote]

str是你在分析完字符串前缀后的目标字符串,不会想叫我把那个分析前缀那部分也写了吧?
千杯不醉-sen 2010-10-28
  • 打赏
  • 举报
回复
正则可行否?
灼眼的超哥 2010-10-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ganjianh8 的回复:]

C/C++ code

if(!memcmp(str, ".7z\0", 4))
{
printf(".7z");
}


下面一样
[/Quote]
str?
int main (int argc ,char* argv[]),能不能将str用argv代替?
灼眼的超哥 2010-10-27
  • 打赏
  • 举报
回复
如果参数是“.7z/.txt/a.bz2”呢?也就是说,假如文件夹的名称是这四个字符串,对字符串的查找有影响吗?
ganjianh8 2010-10-27
  • 打赏
  • 举报
回复

if(!memcmp(str, ".7z\0", 4))
{
printf(".7z");
}

下面一样
「已注销」 2010-10-27
  • 打赏
  • 举报
回复
判断main函数的参数就行了

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧