当前位置: 首页 > 知识库问答 >
问题:

使用“NEW”获取字符输入和给定输出,并从用户处获取字符串长度

傅朗
2023-03-14

首先,我这样做没有从用户那里获得长度。这是:

#include <iostream>
using namespace std;
int main()
{
        char *str;
    cout<<"Enter Characters:";
    str=new char[];
    cin>>str;

    cout<<"\nstr="<<str;
    system ("pause");
    return 0;
}

现在我尝试从用户那里获取输入长度。这是:

#include <iostream>

using namespace std;
int main()
{
        char *str;
    int len;

    cout<<"Enter Characters:";
    str=new char[];
    cin>>str;

    cout<<"Enter length of your entered character:";
    cin>>len;

    char *ptr=str;
    ptr=new char[len];

    cout<<"\nptr="<<ptr;
    system ("pause");
    return 0;
}

这显示了“cout(ing)”“ptr”时输出中的一些奇怪的东西,我不知道是什么!如果这是错误的,我怎么也可以从用户那里获取输入?如果我编辑第一个程序,那么我不能获取输入,直到执行这一行“str=new char[];”。并且长度只能在这一行中给出。并且长度只能在获取字符串之前给出。

共有1个答案

罗昱
2023-03-14

你有一些错误,但主要是:

str = new char[];

这不是有效的C语法。您应该指定分配内存的大小。但如果不知道需要多少内存,则应使用std::string:

#include <iostream>
#include <string>

int main()
{
    std::string str;
    std::cin >> str;

    std::cout << "str = " << str << std::endl;
    return 0;
}

另一个问题-每个newed内存都应该是deleted。

 类似资料:
  • 问题内容: 我正在制作一个应用程序,在某个时候我需要用户选择一种颜色,但是不仅有50个radioButtons,我想知道是否有可能从文本字段或其他内容中真正获得他们想要的颜色。 问题答案: 仅仅制作一个JComboBox或类似的东西会更容易吗? 但是要回答您的问题:是的,有可能。我将提供一段代码,您可以将其用作入门(假设您仍然希望为字符串上色)

  • 我是Java的新手,我正在尝试从一个多行的输入中获取一个字符串。 例如,一个字符串=“the quick brown fox jumps over the lazy dog.the quick brown fox jumps over the lazy dog.the quick fox jumps over the lazy dog.”输入如下: 敏捷的棕色狐狸跳过懒惰的狗。 敏捷的棕色狐狸跳过

  • 主要内容:关于 Python 2.xinput() 是 Python 的内置函数,用于从控制台读取用户输入的内容。input() 函数总是以字符串的形式来处理用户输入的内容,所以用户输入的内容可以包含任何字符。 input() 函数的用法为: str = input(tipmsg) 说明: str 表示一个字符串类型的变量,input 会将读取到的字符串放入 str 中。 tipmsg 表示提示信息,它会显示在控制台上,告诉用户应该

  • 我用了这段代码并运行,但没有输出出来不知道为什么? 但如果正在使用s=“”;则也没有输出。 但是当我使用s=“”;那么输出就来了,为什么会这样呢?

  • 在下面的例子中,我试图接受用户的单字符输入,但是当运行程序时,我得到do...而循环执行多次。请参阅下面程序的结果。 如果有人能帮我找到答案,如何解决这个问题?

  • 问题内容: 我试图找到一种方法来从键盘输入。 我尝试使用: 该方法不存在。 我尝试了作为。但是,它并不总是在每种情况下都可行,因为我从我的方法中调用的另一个方法需要作为输入。因此,我必须找到一种显式将char作为输入的方法。 有什么帮助吗? 问题答案: 你可以从中提取第一个字符: 消耗正好一个字符,你可以使用: 要严格使用一个字符,可以使用: