c++中string的遍历:
1 for(i=0;i<str.size();i++) 尽量用这个
或
2 for(std::string::iterator it=str.begin();it!=str.end();it++
或
3 string str
for(p=&str[0];*p!='\0';p++)
for(char*p=str;*p!=’\0’;p++)是错误的,因为str是string类型,不代表首地址,不是char类型。
for(char *p=str.c_str();*p!=’\0’;p++)也是错误的,str.c_str()返回的是const char指针,不能赋值给char指针,编译器报错,可以采用:
4 char* p;
strcpy(p,str.c_str());
for(;*p!='\0';p++)
怪麻烦的。