字符串与字符
C里面,字符串是数组,C++里面string是个类,虽然我还没搞清楚类到底是什么玩意,就我目前的理解就是有着比struct更复杂内部结构的一种抽象数据类型。
实际问题来了,转换一个字符串里面的大写字母到小写,这个过程自然是ASCII码实现了,关键就是取出每个字符。把字符串看成数组,循环长度,挨个转换就可以了。
不过确实让我周折一番,如果定义成string s;那么strlen不能用,extern int strlen(char *s);自变量是char型的,如果改成string那么就会错误:10 E:/RockMain/TECH/0911/4-13.cpp no matching function for call to `strlen(std::string&)' note C:/Dev-Cpp/include/string.h:49 candidates are: size_t strlen(const char*)
实际上string设计目的就比char[]好用的多,直接找string 的length域即可。string s;len=s.length();
http://www.cplusplus.com/reference/string/string/
最终程序
#include
#include
using namespace std;
int main()
{
int i;
string s;
char ss;
cin >>s;
cout <
<<"X"<
/*for ()*/
for(i=0;i<=s.length();i++)
{
if ((s[i]<=90)&&(s[i]>=65)) s[i]=s[i]+32;
else if ((s[i]<=122)&&(s[i]>=97)) s[i]=s[i]-32;
}
cout <
getchar();
getchar();
return(1);
}
顺便说下今天拿到Google Wave邀请了,还没搞清楚怎么用。同时我是穷B型的账户,没法邀请别人。
和Long StarCraft,失败,陆战决定论是错误的。。。
喜欢上AK-47的音乐了