在我编写的代码中,我接受一个字符串,检查它是否只包含十进制数字,然后将字符串转换为 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;
}
}