【菜鸟疑问】JavaScript+c语言问题

jilily 2009-08-31 10:05:16
最近遇到一件这样的事情:大家有兴趣的可以一起讨论讨论
在A.htm文件中,有这样一个text
<td align="left"> 
<INPUT type="text" maxlength="62" size="21" name="remotefilename" value="@remote_filename#">
</TD>


在相应的html处理文件B.c中,我是这样写的:
int main(int argc,char** argv)
{
int isPOST=InitPOST();
if(isPOST)
{
CheckSpeedReQBtn();
FinnPOST();
}

sWebRep webRep[]={
{ "@product_descrip#", WH_GetModelName, -1 }, ==》 中间的参数WH_GetModelName都是相应web处理函数
{ "@product_name#", WH_GetModelName, -1 },
{ "@fw_version#", WH_GetCurSwReV, -1 },
{ "@ftpserver_addre#",WH_GetFtpServerAddr,-1},
{ "@remote_filename#",WH_GetRemoteFileNAME,-1},
{ "@iPerf_Trans_option#",WH_GetiPerf_TransOption,-1},
{ "@udp#",WH_GetUdp,-1},
{ "@tcp#",WH_GetTcp,-1},
{ "@Drdown_box#",WH_GetDropDownBox,-1},
{ "@Text_Entry#",WH_GetTextEntry,-1},
{ "@mode_type#", WH_GetStatusType, -1 },
{NULL}
};
return build_page(TEMP_WEBPAGE,webRep);
}

void CheckSpeedReQBtn(void)
{
char ftpAddr[35];
char remFileName[35];

if (getPOST_STRING("serverAddress", ftpAddr, 35) == OK)
//通过getPOST_STRING(char *varname, char *varvalue, int len)可以判断是哪个文本框提交的内容
{
WH_SetFtpServerAddr(ftpAddr);
}
if(getPOST_STRING("remotefilename", remFileName, 35) == OK)
{
WH_SetRemoteFileNAME(remFileName);
}


else
ErrorMsg("check speed request test information")

}

在相应的WEB.c文件中,我是这样写的:
这个是页面文本框中参数的get函数:
void WH_GetRemoteFileNAME(int index)
{
char fileName[40];
int len;

DOCSIS_INITDB

if(SaDocsisDb_GetFtpFilename(fileName)==STATUS_OK)
{
len=strlen(fileName);
if(len==0)
printf("(null)");
else(len!=0)
{
for(i=0;i<=len;i++)
{
if(fileName[i]!='\0')
{
printf("%s",fileName[i]); }
}

}
}
else
printf("[Error");
}
这个是页面文本框的set函数:
void WH_SetRemoteFileNAME(char *fileName)
{
DOCSIS_INITDB //初始化web

if(SaDocsisDb_SetFtpFilename(fileName)==STATUS_OK)
{
ErrorMsg("\n[OK]\n")
}
else
ErrorMsg("\n[Error]")

}
问题来了:
在get函数中,像函数void WH_GetRemoteFileNAME(int index)所写的那样
在我set value进去,页面将无法正常get值出来

但是如果我将void WH_GetRemoteFileNAME(int index)函数中的函数体,换成下面的函数体,就正常了:
void WH_GetRemoteFileNAME(int index)
{
char fileName[40];
int len;
char *name;

DOCSIS_INITDB

if(SaDocsisDb_GetFtpFilename(fileName)==STATUS_OK)
{
len=strlen(fileName);
if(len==0)
printf("(null)");
name=fileName;
printf("%s",name);
}
else
printf("[Error]");
}

不知道问题出在哪里,是不是页面出来函数不能使用for循环?
还是越界的情况产生的?

请各位高手不吝赐教,在这里小女有礼了!!
...全文
78 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
casahama 2009-09-04
  • 打赏
  • 举报
回复
从来没用过C写过网站~~~~~

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧