我正在使用C/UNIX并且有一个包含多个记录的输入文件.我已经将每个记录映射到一个结构,并通过在数据库的记录中添加缺少的信息将结构写入输出文件.
我的问题是将结构(由字符数组组成)写回文件.我在用
fwrite(&record, sizeof(record), 1, out);
fwrite("\n", 1, 1, outfd);
Run Code Online (Sandbox Code Playgroud)
这将在输出文件中写入数据,并在每个成员之后使用终止NULL'\ 0'.请告诉我如何将此结构写入文件,而不会在每个成员之后终止'\ 0'.
我会想象那些0是字符数组的一部分 - 它们位于每个C字符串的末尾.如果你需要将字符串写入没有零的文件,你可以编写单独的字符数组,只写字符而不是尾随零(你可能strlen()用来找到这个长度),即.
fwrite(theCharArray,1,strlen(theCharArray),out);
但是,您可能需要将有关每个字符串长度的一些信息写入文件.