![]() |
1
1
一个通用的序列化框架是 坚硬的 |
![]() |
2
0
基本上,你必须创建一个文件格式。当您被限制为内置、字符串和它们的序列时,您可以使用空格作为分隔符,将字符串包装在
例如,
可能是
或者你可以按照尼尔的建议去做 in his comment
|
![]() |
3
0
对于一个非常简单的等价物,可以输出
这有明显的缺点:类型的大小和表示形式必须独立于平台,并且输出既不是人类可读的,也不是特别压缩的。
你可以使它大部分人可读,尽管使用ASCII而不是算术类型的二进制表示(注意数组:在输出任何数组之前,可能需要计算整个数组的长度,或者可以使用分隔符和终止符,因为不需要字符转义),通过选择性地添加一个大的人眼可见分隔符,反序列化程序会忽略它。例如,
除非对代码大小有非常严格的限制,否则使用现成的通用序列化程序可能比编写专门的序列化程序更容易。使用SAX读取简单的XML并不困难。这就是说,每个人和他的狗都写了“最后,序列化程序/解析器/任何可以节省我们手工编写序列化程序/解析器/任何东西”的文章,取得了或多或少的成功。 |
![]() |
4
0
你可以考虑使用 boost::spirit |
|
adam101 · c中文本文件的读/写结构++ 7 年前 |
![]() |
Galaxy · C++11 int8\t错误输入/输出 7 年前 |
![]() |
Finley · 如果(!(is>>s))是什么意思? 7 年前 |
![]() |
Arlington · C++删除或覆盖文件中的现有信息 7 年前 |
![]() |
James · 为什么我不能从用户那里读取一个值并使其成为常数? 7 年前 |