0

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

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

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

我写了以下

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

1 回答 1

0

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

要使显示的文本执行换行,应将HTML 中断标记"< br />" 插入到输出字符串中:

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

在 CGI 程序生成的文本中使用换行符和空格对实际显示的 HTML 页面影响不大。使用换行符和空格来格式化 HTML 以便源代码可读,并使用 HTML 标签来控制客户端浏览器中显示的文本。

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

于 2013-08-30T23:34:01.037 回答