私の問題を説明するのに役立つスクリーンショットを次に示します。
私は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);
}