我有一个结构,我想将其作为一条记录写入常规文件,并带有逗号分隔的字段。例如
struct A {
int a;
int b;
} test;
给定test.a=1
and test.b = 2
,常规文件将有一个对应1,2
的一行记录。另一个要求是我想用一个系统调用编写整个结构。因此,我创建了 a char buffer[10]
,将 int a,b 的值存储到缓冲区中,用逗号分隔和换行符,并使用 Linux 系统 write() 调用来写入缓冲区。
问题是记录在文件中最终以二进制形式出现。这是直观的,因为我从变量中删除了“类型”,我将它们存储在一个 char 数组中。我可以使用标准 io,但我想了解如何使用具有概述约束的标准 linux 系统调用来实现预期的结果。我怎样才能保留变量的“典型性”。所谓类型,我的意思是如果变量是 int 类型,那么常规文件应该有人类可读的数字。