如何在数组中存储大量未知长度

How to store large number of unknown length in array

本文关键字:未知 存储 数组      更新时间:2023-10-16

我试图使用数组存储大量数据。下面是我的代码:

#include "stdafx.h"
#include <iostream>
using namespace std;
void main(){
    char number[10];
    int size = 0;
    for (int i = 0; i < 10; i++){
        std::cin >> number[i];
        size++;
    }
    for (int i = 0; i < size; i++){
        std::cout << "number[" << i << "]: " << number[i] << endl;
    }
}

当我输入一个正好有10位数字的数字时,这可以正常工作,但是如果我输入一个小于10位的数字,那么我的程序就会挂起,因为它会等待我输入所有的10位数字。

是否有一种方法可以检测用户何时按Enter键?或者告诉for循环在用户输入整个数字时中断?

最好不进行循环输入,因为这是一个数字,否则用户必须输入一个数字,然后输入一个空格或输入下一个数字,等等。更确切地说,用户会想要在没有空格的情况下输入数字,然后输入。

但是在这个方法中,你将无法检查用户在输入时是否给出了一个有效的数字!您必须再次遍历数字数组以检查每个数字!

#include <iostream>
#include <string.h>
using namespace std;
int main()
{
    char number[10];
    int size = 0;
    cin >> number;
    size=strlen(number); // number of digits entered
    cout << "Number of digits entered: " << size << endl;
    cout << "Entered Number is: " << number;
}