gpt4 book ai didi

c - 在 C++ 中填充动态大小的数组并使用值

转载 作者:太空宇宙 更新时间:2023-11-04 02:59:52 26 4
gpt4 key购买 nike

我想动态地填充一个字符数组并检查包含的值是否是有效整数,这是我目前得到的结果:

for(int i = 0; i < 50000; i++)
{
if(input[i] == ',')
{
commaIndex = i;
}
}

commaIndex 是逗号在文件中的索引,数值应该在逗号之前输入,文件看起来像这样:-44,5,19,-3,13,(etc),这部分很重要:

char *tempNumber = new char[commaIndex];

填充 tempNumber(由于我的动态分配,它大概应该和数字一样大)所以我没有 50000 字符数组(命名输入)中的数字。

for(int i = 0; i < commaIndex; i++)
{
cout << i << "\n";
tempNumber[i] = input[i];
}

现在我想使用它:

if(!isValidInteger(tempNumber))
{
cout << "ERROR!\n";
}

不幸的是,无论“commaIndex”的值如何,tempNumber 似乎总是大小为 4,即我得到以下输出:

(输入数据:50000,3,-4)

逗号索引:5tempNumber的内容:5000(少了一个0)

逗号索引:1tempNumber 的内容:3²²²(注意 3 ^2s)

逗号索引:2tempNumber 的内容:-4²²

有什么想法吗?

还有一件事:这是为了家庭作业,我不允许使用 C++ 的任何面向对象的元素(这包括字符串和 vector ,我去过那里,我知道它会是 SO 简单。)

谢谢,

丹尼斯

最佳答案

您可能对 strtol 感兴趣功能。

关于c - 在 C++ 中填充动态大小的数组并使用值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13289825/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com