返回首页

我在我的第一个网站建设的过程中,并已决定写我自己的CGI表单处理和浏览器的响应。我知道,在Windows编程输出被定向到一个窗口,并在控制台编程输出定向到控制台。到一个直接输出意味着什么浏览器时写的cgi?

回答

评论会员:涂覆西瓦库玛 时间:2012/02/06
只打印到控制台,并记住设置正确的Content-Type
评论会员:游客 时间:2012/02/06
查克・奥图尔:为了节省您的一些未来的调试/头痛1)你必须有适当的HTTP标头*前*数据输出和它们所包含的字符数输出。因此,你需要应用程序内的"缓冲"的所有输出,最后才为之倾倒"标准输出"2)C/C换行符('\N')只算作1字符在缓冲区,但将成为两个字符打印时"标准输出",所以计算的换行符数量分别添加,以缓冲的长度输出。{BR​​}下面是我的CGI应用程序的底部。我缓冲到total_printout的输出和计数在total_newlines换行符。你做你的输出缓冲,就像是你的。codeprelang="c"printf(spanclass="code-string""/spanspanclass="code-string"Content-type:text/html\n"/span);spanclass="code-comment"///spanspanclass="code-comment"makereceivingbrowserhappy/spanspanclass="code-keyword"if/span(total_printout!=NULL){printf(spanclass="code-string""/spanspanclass="code-string"Content-length:%d\n\n"/span,strlen(total_printout)+total_newlines);printf(spanclass="code-string""/spanspanclass="code-string"%s"/span,total_printout);spanclass="code-comment"///spanspanclass="code-comment"nowsendit/spanfree(total_printout);spanclass="code-comment"///spanspanclass="code-comment"returnaccumulatedoutput/span}spanclass="code-keyword"else/span{printf(spanclass="code-string""/spanspanclass="code-string"Content-length:0\n\n"/span);spanclass="code-comment"///spanspanclass="code-comment"nooutput/span}/pre/code