busybox httpd cgi不打印“返回”

时间:2013-07-09 11:48:33

标签: apache cgi executable busybox cgi-bin

请帮助,我找不到解决方案

情况。我有busybox httpd服务器。在cgi-bin文件夹中是一个cgi-executable,它通过printf命令发送给客户端格式化的文本。

问题是文本格式应该看起来像一列,但客户端只接收一个字符串。尽管在“printf”中我使用“\ n”和“(char)13”。 另一个可执行文字不会返回“返回”符号

我写了以下

for (i=0; i<4;i++)
 printf ("%9.8g%c\n",  lTemp[i]*dTemp[i], (char) 13 );

1 个答案:

答案 0 :(得分:0)

从CGI程序发送到Web客户端的文本被视为HTML文本,而不是纯文本 处理HTML以在浏览器中显示时,将忽略换行符和回车符(简称为“返回”)字符。

要使显示的文字执行换行符,HTML break tag,“&lt; br /&gt;”应该插入输出字符串:

printf("%9.8g <br />\r\n", lTemp[i] * dTemp[i]);

在CGI程序生成的文本中使用换行符和空格对显示的实际HTML页面几乎没有影响。使用换行符和空格格式化HTML以使源可读,并使用HTML标记控制客户端浏览器中显示的文本。

顺便说一句
printf 中使用数字常量和字符转换不是输出回车符的首选方法。
使用格式中定义的转义序列\r