如何将格式化数据添加到C程序的文本输出中?

发布于 2024-10-22 06:09:56 字数 367 浏览 3 评论 0原文

我有一个命令行 C 程序 (DOS/Windows),它生成多个记录的十六进制转储作为 .txt 文件。 我正在寻找一种方法来强调某些价值观而不诉诸 ascii-art。

是否有现成的查看程序和字节序列的组合,可以让我突出显示/粗体/下划线某些文本块?如果我可以通过简单的 fprintffwrite 调用生成它,那就加分了。

我想 HTML 是一种选择,但我希望有一些更简单的东西,类似于 ANSI 转义码的东西。

有什么想法吗?


如果 HTML 是最好的,那么生成有效文档所需的最小标头/尾部是多少?
(该死的吉姆,我是一名嵌入式程序员,而不是网页设计师)

I have a command-line C program (DOS/Windows) which produces a hex dump of several records as a .txt file.
I am looking for a way to emphasize certain values without resorting to ascii-art.

Is there a combination of readily available viewing programs and byte sequences that would let me highlight/bold/underline certain blocks of text? Bonus points if I can generate it with a simple fprintf or fwrite call.

I guess HTML is an option, but I was hoping for something even simpler, something along the lines of ANSI escape codes.

Any ideas?


And if HTML is the best, what is the minimal header/tail I need to produce a valid document?
(dammit Jim, I'm an embedded programmer, not a web designer)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

永不分离 2024-10-29 06:09:56

我主要在 Linux/Unix 系统上工作,所以我不知道最新版本的 Windows/DOS CMD shell 对 ANSI 转义码有什么样的支持。我同意 HTML 可能是您最好的选择。

每个 W3C 的最小 HTML 文档

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
  "http://www.w3.org/TR/html4/strict.dtd">

<html>
  <head>
     <title>An HTML document</title>
  </head>
  <body>
    Body of HTML document
  </body>
</html>

您可以突出显示使用斜体()或粗体(<强>)。

I work predominately on Linux/Unix systems, so I don't know what kind of support recent versions of the Windows/DOS CMD shell have for ANSI escape codes. I agree that HTML is probably your best bet.

Minimal HTML document per W3C

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
  "http://www.w3.org/TR/html4/strict.dtd">

<html>
  <head>
     <title>An HTML document</title>
  </head>
  <body>
    Body of HTML document
  </body>
</html>

You could highlight specific elements using either italics (<i> or <em>) or bold (<b> or <strong>).

随梦而飞# 2024-10-29 06:09:56

如果您不喜欢使用 HTMl,您可以使用 rtf 格式。您可以使用 fprintf 或 fwrite 调用生成它。检查维基百科中的此链接,它包含 rtf http://en.wikipedia.org/wiki/Rich_Text_Format< 的示例/a>

If you don't like using HTMl you may use the rtf format. You can generate it using the fprintf or fwrite call. Check this link in wikipedia it contains an example of rtf http://en.wikipedia.org/wiki/Rich_Text_Format

反差帅 2024-10-29 06:09:56

也许有点矫枉过正,但我​​有时会使用 XML+XSLT 来实现此目的。
只需用您选择的一些标签包围您的数据块,例如:

<blocktype1>...</blocktype1>
<blocktype2>...</blocktype2>

然后创建一个简单的 XSL 样式表,将您转储的数据转换为 html。

优点:

  • 不会向您的 C 代码发送格式化特定代码的垃圾邮件
  • 允许在不运行原始代码的情况下更改格式
  • 允许使用 XMLNotepad(免费)或 XmlSpy 等工具浏览结果文件

Maybe a little bit overkill, but I sometimes use XML+XSLT for this purpose.
Just surround your data blocks with some tags you choose, like :

<blocktype1>...</blocktype1>
<blocktype2>...</blocktype2>

And then create a simple XSL stylesheet that will convert your dumped data to html.

Benefits :

  • Does not spam your C code with formatting specific code
  • Allows to change the formatting without running your original code
  • Allows to browse the resulting file with tools like XMLNotepad (free) or XmlSpy
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文