注册 登录
编程论坛 C++教室

关于 转换大小写

zzt_428 发布于 2008-12-01 20:57, 814 次点击
小弟初学编程,请教一个问题,要求把一个string 对象 转换成大写,我的代码如下:
#include <iostream>
#include <cctype>
#include <cstring>
using namespace std;


int main()
{
    string s="Hello kitty!";
    char *ch=s;
    char *arr[50];
    for(int i=0; i<strlen(s); i++)
    {
        if(!isupper(*(ch+i)))
            *(arr+i)=toupper(*(ch+i));

    }
    cout << arr << endl;

    return 0;
}

有编译不能通过,请各位指点,如能提供可编译代码更是感谢。
6 回复
#2
newyj2008-12-01 21:39
程序代码:
#include <iostream>
#include <cctype>
#include <string>
using namespace std;


int main()
{
    string s="Hello kitty!";
    char arr[50];
    for(int i=0; i<s.size(); i++)
    {
        if(!isupper(s[i]))
            arr[i]=toupper(s[i]);
    }
    cout <<arr << endl;
    getchar();
    return 0;
}
#3
zzt_4282008-12-02 08:53
回复
学习了,非常感谢楼上的兄弟!
#4
hejingyang06262008-12-02 11:11
我也学习了啊
谢谢
#5
zuoping1202008-12-03 12:06
如何用指针去实现大小写的转换呢?
我改了一点,但没找到错误在哪?请答复,谢谢。
#include<iostream>
#include<cctype>
#include<cstring>
using namespace std;

int main()
{
    string s="Hello kitty";
    char *p;           //错误提示在这行,请注意。
    p=s;
    char *arr;
    for(int i=0;i<=sizeof(s);i++)
    {
        if(*(p+i))
        *(arr+i)=toupper(*(p+i));
    }
    cout<<arr<<endl;
    return 0 ;
}
#6
2008-12-03 12:53
回复 第5楼 zuoping120 的帖子
p是字符型指针,s是字符串,p怎么可以指向s呢
#7
hejingyang06262008-12-03 13:39
来学习下啊
1