【发布时间】:2016-01-27 23:51:00
【问题描述】:
您好,我正在尝试编写一个函数,通过使用指针而不是返回值将字符串转换为小写。
void makeLowerCase(std::string* in){
//for loop tolower(char from *in);}
但我不知道如何从我的指针中获取每个字符以使用 tolower(),或者如何获取字符串中有多少个字符
*in.length()
和
sizeof(*in)/sizeof(char)
不要为它工作。前者我在使用指针时出错,后者我得到相同的返回值 sizeof(*in) 所以我什至不知道如何结束我的 for 循环。
【问题讨论】:
-
为什么不使用参考呢?
void makeLowerCase(std::string& in) -
如果您使用 C++,您应该使用函数内部提供的库,但是...在该语句之外,传入
std::string的地址,然后in将是一个可以操作的指针。 -
使用指针时使用
->而不是.。
标签: c++ function pointers tolower