C语言_知识点_1.5.8(函数 fwrite 和 fread)

头文件 stdio.h

fwrite  将数据写入流,即 将指定数组写入指定文件中

函数声明:size_t fwrite (const void*buffer , size_t size ,size_t count ,FILE* stream)

格式 : 

fwrite (指向数组首元素地址的指针,

单个元素字节大小,
元素个数,
指向文件结构的指针 )
 
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

int main()
{
    FILE* pf = NULL;
    pf = fopen("D:\\test.txt", "w"); 
    if (NULL == pf)
    {
        perror("error fopen");
        return 1;
    }
    char c[9] = { 0 };
    char* pc = NULL;
    pc = c;
    int i = 0;
    for (i = 0; i < 9; i++)
        c[i] = (char)('1' + i); //根据ASCLL值将字符‘1’ - ‘ 9 ’赋值给数组

    int sz = sizeof(c) / sizeof(c[0]); //将 数组元素个数 赋值给 sz
    fwrite(pc, sizeof(char), sz, pf);

    fclose(pf);
    pf = NULL;
    return 0;
}

 

执行完程序后打开文本,结果如图:

 

fread 从流中读取数据,即 从指定文件中读取数据
函数声明:size_t fread (void* buffer ,
           size_t size ,
           size_t count ,
           FILE* stream)
格式:fread(指向数组首元素地址的指针,
      单个元素字节大小,
      元素个数,
      指向文件结构的指针 )
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

int main()
{
    FILE* pf = NULL;
    pf = fopen("D:\\test.txt", "r");
    if (NULL == pf)
    {
        perror("error fopen");
        return 1;
    }
    char c[9] = { 0 };
    char* pc = NULL;
    pc = c;

    int sz = sizeof(c) / sizeof(c[0]);
    fread (pc, sizeof(char), sz, pf);

    int i = 0;
    for (i = 0; i < 9; i++) //打印从文件中获取的数据
        printf("%c", c[i]);

    
    fclose(pf);
    pf = NULL;
    return 0;
}

文本中的内容如图所示:

 

代码执行结束后,如图所示:

 

 

使用软件:Visual studio 2022

日期:2024-03-28

posted @ 2024-03-28 22:47  freeyang8  阅读(47)  评论(0)    收藏  举报