我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: 求助一个C++的程序啊 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

xuer



誓言守护者 执着之戒 真诚之戒 勇敢之戒
性别: 帅哥 状态: 该用户目前不在线
头衔: 学而时习之
等级: 人见人爱
家族: 起早不摸黑
发贴: 3393
威望: 0
浮云: 0
在线等级:
注册时间: 2006-11-19
最后登陆: 2018-08-13

5come5帮你背单词 [ leopard /'lepəd/ n. 豹 ]


求助一个C++的程序啊

#include<iostream>
#include<string>
#include<cstring>
using namespace std;
void change(string &a);
int main()
{
cout<<"Enter a string (q to quit):";
string a;
getline(cin,a);
while(a!="q")
{
  change(a);
  cout<<a<<endl;
  cout<<"Next string (q to quit):";
  getline(cin,a);
}
cout<<"Bye";
return 0;
}
void change(string &a)
{
    for(int i=0;i<strlen(a);i++)
        toupper(a[i]);
}
程序在    for(int i=0;i<strlen(a);i++)报错了,好像是不能用strlen量长度,不明白啊,谁能说说?
顶端 Posted: 2007-10-05 16:04 | [楼 主]
lkk



性别: 帅哥 状态: 该用户目前不在线
头衔: 做神一样的男人
等级: 人见人爱
发贴: 3954
威望: 0
浮云: 1248
在线等级:
注册时间: 2005-09-30
最后登陆: 2012-01-14

5come5帮你背单词 [ steel /'sti:l/ n. 钢 ]


换成sizeof试试
顶端 Posted: 2007-10-05 16:24 | [1 楼]
xuer



誓言守护者 执着之戒 真诚之戒 勇敢之戒
性别: 帅哥 状态: 该用户目前不在线
头衔: 学而时习之
等级: 人见人爱
家族: 起早不摸黑
发贴: 3393
威望: 0
浮云: 0
在线等级:
注册时间: 2006-11-19
最后登陆: 2018-08-13

5come5帮你背单词 [ retarded // a. 智力上迟纯的 ]


Quote:
引用第1楼lkk于2007-10-05 16:24发表的  :
换成sizeof试试

没错了。。。
顶端 Posted: 2007-10-05 16:27 | [2 楼]
rider



性别: 帅哥 状态: 该用户目前不在线
等级: 鹤立鸡群
发贴: 1009
威望: 0
浮云: 1125
在线等级:
注册时间: 2006-03-10
最后登陆: 2008-06-27

5come5帮你背单词 [ hockey /'hoki/ n. 曲棍球 ]


函数strlen的参数是char*型,而a代表的是一个类对象,二者之间没有默认转换
解决方法 1、如二楼所言,用sizeof
2、进行强制转化:for(int i=0;i<strlen((char*)&a);i++)
顶端 Posted: 2007-10-13 18:02 | [3 楼]
zhd32



性别: 帅哥 状态: 该用户目前不在线
等级: 版主
家族: YD一族
发贴: 619
威望: 0
浮云: 543
在线等级:
注册时间: 2006-04-22
最后登陆: 2009-06-22

5come5帮你背单词 [ mourn /mo:n/ v. 哀痛,致哀 ]


Quote:
引用第3楼rider于2007-10-13 18:02发表的  :
函数strlen的参数是char*型,而a代表的是一个类对象,二者之间没有默认转换
解决方法 1、如二楼所言,用sizeof
2、进行强制转化:for(int i=0;i<strlen((char*)&a);i++)

你这样进行强制转化行么?
不要误导别人哈
LZ可以用 strlen(a.c_str()) 或者 i < a.length() 哈


[ 此贴被zhd32在2007-10-13 19:44重新编辑 ]
顶端 Posted: 2007-10-13 19:36 | [4 楼]
cz3010



性别: 帅哥 状态: 该用户目前不在线
等级: 人见人爱
发贴: 3695
威望: 0
浮云: 1453
在线等级:
注册时间: 2007-09-10
最后登陆: 2012-02-14

5come5帮你背单词 [ germany /'d3ə:məni/ n. 德国 ]


看不出哪里有错啊
顶端 Posted: 2007-10-19 18:24 | [5 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.013034(s) query 5, Time now is:11-22 15:26, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号