请帮助,我找不到解决方案
情况。我有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 );
答案 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
。