这是帮助说明我的问题的屏幕截图:
我正在运行 Apache 服务器。现在,用户将在 html 页面中输入华氏度数,然后将他们带到该程序进行转换。如您所见,它的计算不正确。它采用华氏度数,出于某种原因在其上添加了额外的数字甚至字母?无论如何,任何人都可以帮我编辑我的代码以使其正常工作吗?非常感谢!!
#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <windows.h>
using namespace std;
//(Include the c++ getvar comment block and code here)
int getvar(char *var, char *dest, char *stream)
{
char *vptr;
int size, i=0, j=0, hex; /* ptr+i to src, ptr+j to dest */
vptr=strstr(stream, var);
if(vptr) ;
else return(1); /* 1 for a checkbox thats off */
if((vptr==stream)||(*(vptr-1)=='&')) ;
else return(-1); /* -1 for a var that appears in error */
size=(int) strlen(var)+1; /* +1 accounts for the = */
while(*(vptr+size+i)!='&')
{
if(*(vptr+size+i)=='+') /* output a space */
*(dest+j)=' ';
else if(*(vptr+size+i)=='%') /* hex character */
{
sscanf(vptr+size+i+1,"%2x",&hex);
*(dest+j)=(char)hex;
i+=2;
}
else *(dest+j)=*(vptr+size+i);
i++; j++;
}
*(dest+j)='\0';
return(0);
}