⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 istrflt.cpp

📁 C标准库源代码
💻 CPP
字号:
/***
* istrflt.cpp - definitions for istream operator>>(float) member function
*
*       Copyright (c) 1991-1997, Microsoft Corporation.  All rights reserved.
*
*Purpose:
*       Definitions of operator>>(float) member function for istream class.
*       [AT&T C++]
*
*******************************************************************************/

#include <cruntime.h>
#include <internal.h>
#include <stdlib.h>
#include <float.h>
#include <iostream.h>
#pragma hdrstop

#pragma check_stack(on)         // large buffer(s)

#define MAXFLTSIZ       20

istream& istream::operator>>(float& n)
{
_WINSTATIC char ibuffer[MAXFLTSIZ];
    double d;
    char ** endptr = (char**)NULL;
    if (ipfx(0))
        {
        if (getdouble(ibuffer, MAXFLTSIZ)>0)
            {
            d = strtod(ibuffer, endptr);

            if (d > FLT_MAX)
                n = FLT_MAX;
            else if (d < -FLT_MAX)
                n =  -FLT_MAX;
            else if ((d>0) && (d< FLT_MIN))
                n = FLT_MIN;
            else if ((d<0) && (d> -FLT_MIN))
                n = - FLT_MIN;
            else
                n = (float) d;
            }
        isfx();
        }
return *this;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -