私が書いたコードでは、文字列を受け取り、10 進数のみが含まれているかどうかを確認してから、文字列を int に変換します。ただし、私のコードでatoi
は、文字列ではなく 0 を返しますint
。誰かが私が台無しにしている場所を教えてもらえますか?
while (!sucess || 0 == Entries){
delete [] bufferptr;
buffer = nullptr;
buffer = new char [MAX];
bufferptr = buffer;
cin.getline(buffer, MAX, '\n');
while (*buffer){
if (isdigit(*buffer++)){
success = true;
} else {
success = false;
break;
}
}
if (success){
numEntries = atoi(buffer);
cout << endl << numEntries << endl;
}
}