string VS char

来源:互联网 发布:2016上半年进出口数据 编辑:程序博客网 时间:2024/06/03 13:51

字符串与字符

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 <    /*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的音乐了