将数组写入C中的.dat文件

时间:2013-11-27 06:47:21

标签: c arrays

在循环的每次迭代中,我需要将数组保存到.dat文件中。数组表示一个n乘1的向量,所以我希望格式化为.dat文件的每一行一个条目。

我知道如何将.dat文件读入C并保存到数组中,但之前从未做过相反的操作,不幸的是到目前为止我遇到的所有来源似乎只显示了如何做前者。 / p>

1 个答案:

答案 0 :(得分:2)

在最简单的情况下,* .dat文件的输出数据至少有两种变体:

  1. 用户友好的文本文件(必须是您的情况)。
  2. 原始二进制数据(猜测,不是你的情况)。
  3. 在第一种情况下,您可以使用stdio.h中的fprintf()输出数据:

    #include <stdio.h>
    
    int fprintf(FILE *stream, const char *format, ...);
    

    由于每行需要一件商品,因此您的格式可能会显示为"%d\n""%x"等。 当然,在写入数据之前,您需要使用fopen()打开输出文件:

    FILE *fopen(const char *path, const char *mode);
    

    然后您可以使用fclose()

    关闭它
    int fclose(FILE *fp);
    

    在第二种情况下,您只能使用write()

    #include <unistd.h>
    
    ssize_t write(int fildes, const void *buf, size_t nbyte);
    

    要打开文件描述符,您可以使用open(const char *path, int oflag,...)并关闭 - close(int fildes)