jtwc 发表于 2021-10-28 11:18

如何用C语言向文件写入指定格式数据

本帖最后由 jtwc 于 2021-10-28 14:06 编辑

各位老师,如何用C语言向文件写入指定格式数据。要求:
文件名:数据名称.oth
数据区格式:每8位一组数据,日期+数值
日期:1970整数,4B
数值:小数型,4B
例如要向y.oth文件中写入日期:2021    数值:-500
该如何写呢?谢谢了

无阻 发表于 2021-10-28 11:43

date + int就好了吧

jtwc 发表于 2021-10-28 11:52

无阻 发表于 2021-10-28 11:43
date + int就好了吧

老师,能具体说说吗?新手不太懂

jtwc 发表于 2021-10-28 13:46

本帖最后由 jtwc 于 2021-10-28 13:48 编辑

把源y.oth文件内容读取写入2.txt代码
int main()
      {
                FILE *file = fopen("./y.oth", "r");
                if (file == NULL)
                {
                        printf("open error!\n");
                        return 0;
                }
                FILE *fp = fopen("./2.txt", "w");
                char c;
                while ((c = fgetc(file)) != EOF)
                {
                        fputc(c, fp);
                }
                fclose(file);
                fclose(fp);
                system("pause");
                return 0;
      }

jtwc 发表于 2021-10-28 13:49

那位老师知道如何写入吗

chenhahacjl 发表于 2021-10-28 13:50

一组数据8位,要求存储8字节内容,哈哈哈哈哈

jtwc 发表于 2021-10-28 14:02

chenhahacjl 发表于 2021-10-28 13:50
一组数据8位,要求存储8字节内容,哈哈哈哈哈

老师,最终如图,该如何写呢

chenhahacjl 发表于 2021-10-28 16:45

本帖最后由 chenhahacjl 于 2021-10-28 16:51 编辑

``` C
#include <stdio.h>
#include <io.h>

int main()
{
    FILE* file = fopen(".\\y.oth", "wb");
    if (file == NULL)
    {
      printf("File open failed!\n");
      return -1;
    }

    int wDate = 2021;
    float wValue = -500;

    fwrite(&wDate, 4, 1, file);
    fwrite(&wValue, 4, 1, file);

    fclose(file);

    file = fopen(".\\y.oth", "rb");
    if (file == NULL)
    {
      printf("File open failed!\n");
      return -2;
    }

    int rDate;
    float rValue;

    fread(&rDate, 4, 1, file);
    printf("Date = %d\n", rDate);

    fread(&rValue, 4, 1, file);
    printf("Value = %f\n", rValue);

    fclose(file);

    return 0;
}
```

jtwc 发表于 2021-10-28 18:08

chenhahacjl 发表于 2021-10-28 16:45
``` C
#include
#include


谢谢老师,非常感谢,非常完美
页: [1]
查看完整版本: 如何用C语言向文件写入指定格式数据