| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 576 人关注过本帖
标题:关于接受输入字符串的问题。急!!
只看楼主 加入收藏
习惯被动
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:139
专家分:144
注 册:2012-3-5
结帖率:84.62%
收藏
已结贴  问题点数:20 回复次数:12 
关于接受输入字符串的问题。急!!
要求:1、能接受字符串的输入(含空格符),以回车结束输入;2、输入的字符可求长度;3、能提取输入的单个字符
。谢谢!
#include
#include

using namespace std;


void main ()
{
    cout<<"请输入密钥: ";
    string miyao;
    getline(cin,miyao);
    int len = sizeof(miyao);
    cout<<len<<endl;
<LEN<<ENDL;
}
疑问:为什么输出的长度总是16的,不管输入的字符有多长。
搜索更多相关主题的帖子: 字符串 include void 
2012-03-06 21:36
非死亡!
Rank: 8Rank: 8
来 自:四川
等 级:蝙蝠侠
帖 子:179
专家分:760
注 册:2011-10-31
收藏
得分:14 
这个想简单点就很简单,想复杂点就很复杂.在下愚笨.只能指点如下了:
程序代码:
#include <iostream>
#include <string.h>
using namespace std;

char getschar(char inchar[]);
int main ()
{
char inchar[50];
char mychar;
int  count = 0;
cout<<"请输入密钥(yue):"<<endl;
cin.getline(inchar,50);
count = strlen(inchar);
mychar = getschar(inchar);
cout<<mychar;

return 0;
}
char getschar(char inchar[])
{
    int a;      //数组个数;
    char thechar;
    char ans = 'y';
    cout<<"要提取字符吗? y/n"<<endl;
    cin>>ans;
    if(ans == 'y')
    {
        cout<<"要提取第几个呢?"<<endl;
        cin>>a;
        thechar = inchar[a-1];
        return thechar;   
    }
    else
    cout<<"后会有期.拜拜";
}
收到的鲜花

能力 技巧
2012-03-06 22:20
非死亡!
Rank: 8Rank: 8
来 自:四川
等 级:蝙蝠侠
帖 子:179
专家分:760
注 册:2011-10-31
收藏
得分:0 
上面的忘了把count输出了  你在上面自己写上就行了  这是小弟的疏忽了  还望海涵啊

能力 技巧
2012-03-06 22:24
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
用 miyao.size(),它返回的是 string 的长度。
2012-03-06 23:36
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
回复 3楼 非死亡!
钥 这个字是多音字。
密钥 这个词念 yue 或者 yao 的都有。现在普遍认为它的意思更接近 钥匙,所以认为念 yao 的多。
不过我也习惯念 yue,不过乍听 密钥 这个词的时候,好多人都联想到的是 蜜月……
2012-03-06 23:43
习惯被动
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:139
专家分:144
注 册:2012-3-5
收藏
得分:0 
谢谢啊,如果能解释一下我那个程序的错误那就更好了
2012-03-06 23:49
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:3 
string 的内存是动态申请的,你可以认为你用 sizeof 求的只是一个指针的长度。当然还有一些其它的内部元素。但总的说,它的长度是个常数。
2012-03-07 00:09
习惯被动
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:139
专家分:144
注 册:2012-3-5
收藏
得分:0 
回复 7楼 pangding
那这个常数跟什么有关呢?是不是所有string类的长度用sizeof求都是一个长度?
2012-03-07 12:22
习惯被动
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:139
专家分:144
注 册:2012-3-5
收藏
得分:0 
回复 3楼 非死亡!
好的,谢谢啦。
2012-03-07 12:23
习惯被动
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:139
专家分:144
注 册:2012-3-5
收藏
得分:0 
回复 2楼 非死亡!
其实我做的是一个关于加密的小程序,到时候是要输入明文的,明文的长度可能会很长,用char好像不太好,能不能用string?怎么实现?
2012-03-07 13:03
快速回复:关于接受输入字符串的问题。急!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016623 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved