0
我試圖存儲陣列使用大量。這裏是我的代碼:如何存儲大量的未知長度的數組
#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個數字也能正常工作。
有沒有一種方法來檢測,當用戶按下回車鍵?或者當用戶輸入整個數字時告訴for循環斷開的某種方式?
您可以在讀取數字後添加'if(!std :: isdigit(number [i],std :: locale()))break;'。隨着'#包括'。不過,這將是比較正常的,你讀了'string'然後再處理字符串。 –
如果你所要做的只是把數字輸入到字符緩衝區中,那麼你可能只需要使用'std :: string',它的行爲與'cin'一樣。 – Alejandro
我曾經在SO的某處讀過它很好有禮貌地知道你會事先需要多大的陣容。也許要求用戶輸入數字的位數? –