-
指针遍历数组方法:
1、for
(
int
j=
0
;j<strlen(substr);j++){
......//char
substr[
100
] = {
0
};
cout<<*(substr+j)<<endl;
}
2、for( j =0; *(substr+j)!='\0' ;++j){
......
}
- 区分strlen()函数和length()、size()等函数:
1、size_t strlen( const char* str)
strlen() 函数计算的是字符串的实际长度,遇到第一个‘\0’结束;参数指向的字符串必须以 ‘ \0 ’结束;函数返回值一定是size_t ,是无符号的;如果你只定义没有给它赋初值,这个结果是不定的,它会从首地址一直找下去,直到遇到’\0’停止;sizeof返回的是变量声明后所占的内存数,不是实际长度,此外sizeof不是函数,仅仅是一个操作符,strlen()是函数;
通常char类型的数组长度可以用strlen函数;
char
substr[
100
] = {
0
};
cin.getline(str, sizeof(substr));
for
(
int
j=
0
;j<strlen(substr);j++){
cout<<*(substr+j)<<endl;
}
2、length()、size()等函数
size()和length():返回string对象的字符个数,他们执行效果相同。
由于c中没有string类型,在c++中有string类型,所有如果是字符串类型,直接用string.lenhth()就行。