C 查找字符在字符串中位置的方法

[cpp]  view plain cop
  1. /***************************************************************************** 
  2.     *  @COPYRIGHT NOTICE 
  3.     *  @Copyright (c) 2013, ChenMH 
  4.     *  @All rights reserved 
  5.  
  6.     *  @file     : TestCharacter.h 
  7.     *  @version  : ver 1.0 
  8.  
  9.     *  @author   : ChenMH 
  10.     *  @date     : 2013/5/17 15:04 
  11.     *  @brief    : C语言中,一种从字符串中获取字符所在位置的方法。 
  12.                     是在偶然中从一处开源代码里看到,记录之...... 
  13. *****************************************************************************/  
  14.   
  15. #include <string.h>  
  16.   
  17. int main(int argc, char **argv)  
  18. {  
  19.     //计算字符w在字符串string中的位置  
  20.     char* string = "Hello world!";  
  21.     char  c = 'w';  
  22.     char* ptr = strchr(string, c);  
  23.     int pos = ptr-string;  
  24.     if (ptr)  
  25.         printf("The character [%c] was found at pos: [%d]\n", c, pos);  
  26.     else  
  27.         printf("The character was not found\n");  
  28.           
  29.         return 0;  
  30.  }  
[cpp]  view plain copy
  1. /************************************************************************** 
  2.     *  @Copyright (c) 2013, ChenMH, All rights reserved. 
  3.  
  4.     *  @file     : main.cpp 
  5.     *  @version  : ver 1.0 
  6.  
  7.     *  @author   : ChenMH 
  8.     *  @date     : 2013/05/17 16:45 
  9.     *  @brief    : 使用strrchr截取字符串 
  10. **************************************************************************/  
  11. #include <cstdio>  
  12. #include <cstring>  
  13.   
  14. //(C语言)从当前文件的路径中截取文件名,及获取文件名首字母在字符串中的位置  
  15. int main(int argc, char **argv)  
  16. {  
  17.     const char* pName = strrchr(*argv,'/');  
  18.     if (!pName) pName = strrchr(*argv,'\\');  
  19.     if (pName)  pName++;  
  20.   
  21.     int pos = pName - *argv;  
  22.     printf("file path: [%s]\n", *argv);  
  23.     printf("file name: [%s]; pos: [%d]\n", pName, pos);  
  24.     return 0;  
  25. }  

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值