问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c++中,用char,不知道要输入多长的字符。 就一个劲的敲,觉得够了就回车,这个动态字符怎么创建

发布网友 发布时间:2022-03-28 22:14

我来回答

3个回答

热心网友 时间:2022-03-28 23:43

实现这个功能很简单。。但不知道你要干啥。

第一种,无聊方式:

#include <stdio.h>

int main()
{
    char c;
    do{
        scanf("%c",&c);
        printf("%c",c);
    }while(c!='\r');
    return 0;
}

第二种,有用方式

#include <stdio.h>

int main()
{
    int size=20; /*内存容量*/
    char *c=(char*)malloc(size);
    int i=0,j=0; /*i是字符串长度计数器,j用于辅助*/
    char *temp;
    do{
        scanf("%c",c+i);
        i++;
        if(i>=size-1)
        {
                size*=2; /*内存不够,扩充2倍容量*/
                temp=(char*)malloc(size);
                for(j=0;j<size/2;j++)
                    temp[j]=c[j];
                free(c);
                c=temp;
        }
    }while(*(c+i-1)!='\n');
    for(j=0;j<i;j++)
        printf("%c",*(c+j));
}

 啊。刚才没看清是C++,反正malloc和free你换成new和delete就是了。基本思想就是,先预设一定容量,比如10个字节,20个字节,然后往里面塞字符串,到一定容量不够了,就搞个容量翻倍的空间,然后把原来的字符塞进去。然后把原来free或者delete掉,新的空间继续使用,然后循环判断就是了。

 

                                                                                                     

热心网友 时间:2022-03-29 01:01

在命令行中,你最多能输入4096个字符,超过后就无法再输入了,不信你试试。
所以,不可能无限长。

热心网友 时间:2022-03-29 02:36

(1) 可以定义一个很大的char 数组 ,比如 char s[10000]; 不过这样比较浪费空间
(2)预先估计你的字符串长度,假设为n,然后 int n; cin>>n; char *s=new char[n];
(3)将char类型改成string,定义 string s: cin>>s; 这样无论一行有多长都可以创建成功。
然后const char *Str=s.c_str();
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
是选诺顿杀毒软件好还是NOD32好? 诺顿好还是NOD32好???请高手指点 诺顿安全软件和ESET NOD32安全软件相比,谁的防护.杀毒更强,功能更多... 诺顿和NOD32这两个杀毒软件哪个比较好? 什么是土地二次抵押 "口似含莲,乾姜之手"是什么意思? 乾姜的意思是什么 都说Pinnacle Food公司各方面做的好,有对这家了解的吗 空调蒸发箱多久清洗一次 空调蒸发箱需要清洗吗 苹果xr流量设置 c++ dynamic的问题 如何关闭笔记本电脑的数字键盘 怎么关闭笔记本电脑的wi-fi 怎样正确关闭笔记本电脑? 如何关闭笔记本电脑的 触摸板 笔记本电脑怎么关闭 怎么关闭笔记本电脑的触摸板 懂得北方过年炸果子的来认下这个学名叫什么?马蹄... 红薯炸果子怎么做 油炸果子做法 自己在家应该怎样炸果子 炸果子的做法家庭做法及配方 炸大果子的做法和配方是什么? 油炸果子的做法图片 老式炸果子做法和配方 过年炸小果子的做法是怎样的? 怎么炸果子好吃 家常果子怎么炸 农村过年糯米面炸果子怎么做 小果子怎么炸 中国唯一的一条注入北冰洋的河流是? 我国唯一注入北冰洋的是什么河? 我国唯一一条注入北冰洋的河流是? 中国唯一流入北冰洋的河流是什么? 我国唯一一条注入北冰洋的河流是 。 我国唯一一条注入北冰洋的河流是什么 我国唯一流入北冰洋的河流是? 我国唯一注入北冰洋的河流是 A.额尔齐斯河 B... 我国唯一流入北冰洋的河流是______ 我国唯一流入北冰洋的河流是 A.额尔齐斯河 B... 我国唯一注入北冰洋的河流 中国唯一流入北冰洋的河流是哪条河流?里面有鱼吗? 我国唯一注入北冰洋的河流是 我国唯一流入北冰洋的河流是(   ) A.黑龙... 我国唯一一条注入北冰洋的河流是: 我国唯一注入北冰洋的是河流是 我国最大的内流河是______,我国唯一注入北冰洋的... 我国唯一流入北冰洋的额尔齐斯河,为什么要全年禁... 2020年高级职称评审条件? 副高职称评定条件?