C PRIMER PLUS——第11节:文件

目录

1.文件

2.路径

3.转义字符

4.读取数据

fgetc:一次读一个字符

fgets:一次读一个字符串

fread:一次读多个/多行数据 

5.写出数据

6.拷贝文件


1.文件


2.路径

文件在电脑位置(拓:Desktop:桌面文件夹)

  • 绝对路径固定不变的,如:C:\users\admin\Desktop\a.txt
  • 相对路径当前项目下找该文件,如:aaa\a.txt

3.转义字符

//定义字符串表路径

char * file = " c:\\aaa\\a.txt " ;

printf ( " %s\n ", file ); //打印


4.读取数据

(1)定义:把本地文件中数据读到程序中来

(2)步骤:

  1. 打开文件:fopen
  2. 读取数据:
  •         fgetc:一次读一个字符
  •         fgets:一次读一个字符串
  •         fread:一次读多个/多行数据 

     3.关闭文件:fclose

(3)示例:

效果图:

fgetc:一次读一个字符

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
    //打开文件:fopen
    FILE* file = fopen("c:\\storage\\学业\\代码.txt", "r");
    int c;
    while ((c = fgetc(file)) != -1)
    {
        printf("%c", c);
    }
    fclose(file);
    return 0;
}


fgets:一次读一个字符串

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
    //打开文件:fopen
    FILE* file = fopen("c:\\storage\\学业\\代码.txt", "r");
    char arr[1024];
    char* str;
    while ((str = fgets(arr,1024,file)) != NULL)
    {
        printf("%s", str);
    }
    fclose(file);
    return 0;
}

fread:一次读多个/多行数据 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
    //打开文件:fopen
    FILE* file = fopen("c:\\storage\\学业\\代码.txt", "r");
    char arr[4];
    int n;
    while ((n = fread(arr,1,4,file)) != 0)
    {
        for (int i = 0; i < n; i++)
        {
            printf("%c", arr[i]);
        }
    }
    fclose(file);
    return 0;
}

5.写出数据

把程序中的数据,写到本地文件中永久存储

※步骤

        1.打开文件:fopen

        2.写数据

                fputs:一次写一个字符

                fputs:一次写一个字符串

                fwrite:一次写各种数据

        3.关闭文件:fclose

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
    //打开文件:fopen
    FILE* file = fopen("c:\\storage\\学业\\代码.txt", "w");
    int c = fputc(97, file);
    printf("%c\n", c);

    int n = fputs("你好征征", file);
    printf("%d\n", n);

    char arr[] = { 97,98,99,100,101 };
    int b = fwrite(arr, 1, 5, file);
    printf("%d\n", b);
    return 0;
}

效果图:


6.拷贝文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

航Hang*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值