首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在gperf中使用空字节?

如何在gperf中使用空字节?
EN

Stack Overflow用户
提问于 2020-04-10 02:53:36
回答 1查看 73关注 0票数 0

gperf信息页声称如果您指定了-l,那么

输入文件中的关键字可能包含NUL字节,用字符串语法编写为\000或\x00,由gperf生成的代码将像对待任何其他字节一样对待NUL。

但是,当我通过gperf -L C++ -l运行这个输入文件时

代码语言:javascript
复制
foo
\000bar\000
\x00baz\x00
bat

我得到:

代码语言:javascript
复制
  <snip>
  static const char * wordlist[] =
    {
      "", "", "",
      "foo",
      "", "", "", "",
      "bat",
      "", "",
      "\\x00baz\\x00",
      "", "", "", "",
      "\\000bar\\000"
    };
  <snip>

它将\000\x00视为文字值,而不是空字节。

如何正确使用gperf字符串中的空字节?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-10 09:25:38

您可以在“关键字条目格式”一节中找到更精确的输入语法文档。

它可以以两种方式给出:简单的名称,即没有环绕的字符串引号,或用双引号括起来的字符串,在C语法中,可能带有反斜杠转义,如\“或\234或\xa8 8。

在gperf的测试套件中,您可以找到一个例子

代码语言:javascript
复制
"\x00\x45\x00\x6E\x00\x67\x00\x6C\x00\x69\x00\x73\x00\x68",    "English",    "en_GB.UTF-8"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61133335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档