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

📄 int.cpp

📁 c++编写的命令行解释器
💻 CPP
字号:
/***************************************************************
File: INT.CPP                 Copyright 1992 by Dlugosz Software
part of the CMDL package for command-line parsing
cmdl_int class -- integer paramters
This version may be used freely, with attribution.
***************************************************************/

#include "usual.h"
#include "cmdl.h"

/* /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ */

void cmdl_int::report_error()
{
switch (error) {
   case NoValue:
      foutput ("use:\n@=<number> or @ <number>\n");
      break;
   case BadValue:
      foutput ("number for @ is ill-formed\n");
      break;
   default:
      cmdl::report_error();
   }
}

/* /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ */

bool cmdl_int::scan (cmdlscan& scan)
{
if (!prelude()) return FALSE;
char* newval= getvalue (scan);
if (!newval) return FALSE;
// instead of using atoi(), use my own code to convert, so I can do
//  proper error checking.
int n= 0;
char* s= newval;
char ch= *s;
bool negflag= FALSE;
if (ch == '-') {
   negflag= TRUE;
   s++;
   }
else if (ch == '+') s++;
while ((ch=*s++) != '\0') {
   if (ch < '0' || ch > '9') {
      error= BadValue;
      return FALSE;
      }
   n= 10*n + (ch-'0');
   }
value= negflag ? -n : n;
delete newval;
return TRUE;
}

/* /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ */

⌨️ 快捷键说明

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