0

好吧,我试图让用户输入他们想要的整数,直到他们输入一个负数。第一步是使用 ATOF 函数将字符串转换为数字(我这样做了),然后允许用户输入整数(我只设法做一次只是为了看看我是否可以正确使用 atof 函数。

感谢任何帮助/提示给我正确的方向。
到目前为止,这是我的代码:

#include <iostream>
#include <string>

int main() { 
using namespace std;
char buffer[256];
char tempBuff[256] = {'\n'};
double result; 
int count = 0;

cout << "Testing " << endl;

cout << "Enter Any integers: ";
cin.getline(buffer,256);

for(int i = 0; i < strlen(buffer); i++)
{
    if(isdigit(buffer[i]))
{
    tempBuff[count] = buffer[i];
    count++;
}
}

if (atof(tempBuff) > 0) { 
result = atof(tempBuff) / 2;

}

cout << endl <<  "The integer you put was: " << tempBuff 
<< " And dividing the integers  "<< result << endl;

cin.ignore();
return 0;
}
4

1 回答 1

0

应该如何atof知道tempBuff包含多少有效数字?该atof函数只接受 C 风格的字符串作为其输入。否则,它无法知道有多少个字符是有效的。

您可以tempBuff[count] = 0;在调用之前使用atof. C 风格的字符串以零字节结束。

于 2013-10-13T03:35:16.947 回答