rindex函数和strrchr函数对待'/0'的区别
2009-08-24 11:43
225 查看
网上看了一篇文章:
index系列函数和strchr系列函数
都是用来 查找字符串中出现的指定一个字符
连它们的声明也几乎一样
#include <strings.h>
char *index(const char *s, int c);
char *rindex(const char *s, int c);
和
#include <string.h>
char *strchr(const char *s, int c);
char *strrchr(const char *s, int c);
不过它们主要的不同在index和rindex函数的说明中:
The terminating NULL character is considered to be a part of the strings.
也就是说index系列函数把字符串中最后的结束字符也当是字符串的内容处理也就是你可以这样
index(str,'/0')和rindex(str,'/0')而strchr系列函数就不可以了
后来才知道,index函数和strrchr函数的区别 只是说index可以搜索'/0',strrchr不可以,
但搜索结果里都含有'/0'结束符作为结尾的。
另外,两个char*变量不可以直接用==比较,虽然不报错,但其实应该是在比较指针地址
要比较值的话应该用strcmpi(pExt, ".exe")之类的函数。
欢迎找错。
index系列函数和strchr系列函数
都是用来 查找字符串中出现的指定一个字符
连它们的声明也几乎一样
#include <strings.h>
char *index(const char *s, int c);
char *rindex(const char *s, int c);
和
#include <string.h>
char *strchr(const char *s, int c);
char *strrchr(const char *s, int c);
不过它们主要的不同在index和rindex函数的说明中:
The terminating NULL character is considered to be a part of the strings.
也就是说index系列函数把字符串中最后的结束字符也当是字符串的内容处理也就是你可以这样
index(str,'/0')和rindex(str,'/0')而strchr系列函数就不可以了
后来才知道,index函数和strrchr函数的区别 只是说index可以搜索'/0',strrchr不可以,
但搜索结果里都含有'/0'结束符作为结尾的。
另外,两个char*变量不可以直接用==比较,虽然不报错,但其实应该是在比较指针地址
要比较值的话应该用strcmpi(pExt, ".exe")之类的函数。
欢迎找错。
相关文章推荐
- NULL, NUL, EOF, '/0'区别
- NULL, NUL, EOF, '/0'区别
- '/0'和"/0"的区别
- NULL, NUL, EOF, '/0'区别
- rindex函数和strrchr函数的区别
- php中strstr、strrchr、substr、stristr四个函数用法区别
- 内联函数与普通函数区别&可执行文件结构介绍
- php中strstr、strrchr、substr、stristr四个函数的区别总结
- Linux下fork()&vfork()的区别、getenv()&setenv()函数以及僵尸进程、孤儿进程讲解
- 如何拷贝带'/0'的字符串
- open函数后面参数'a','w','r'的区别
- 极限研究-"&amp;"函数返回引用与返回普通类型的区别
- MS SQL和Access中使用函数的区别
- 函数参数为int*和int&的区别
- php中strstr、strrchr、substr、stristr四个函数的区别总结
- 使用call_user_func_array()来回调执行函数与直接使用函数的区别是什么? 周梦康周梦康 839 2014年04月15日 提问 · 2014年04月15日 更新 关注 0 关注 收藏
- php中strstr、strrchr、substr、stristr四个函数的区别总结
- C语言中值得深入知识点----数组做函数参数、数组名a与&a区别、数组名a的"数据类型"
- 字符'/0'
- 成员函数·友元函数和一般函数的区别