C基础—文件上

1.文件

文本文件 : 存储时,是将字符的ascii值存在磁盘中,取的时候将数值(ascii)翻译成对应的字符
二进制文件: 存的是二进制,取的是二进制
在这里插入图片描述

2.文件指针

当打开一个文件时,系统会返回一个结构体,这个结构体有此文件操作的所有信息
调用fopen时,系统返回这个结构体地址
FILE *p = fopen(“./a.txt”)
更多编程资料:huzi15209271798

3.打开文件

FILE *fp = fopen( “pathname”, 打开的方式 );
注意: 打开的选项
只有带r的选项,如果文件不存在,则不创建文件
带w选项的,打开时会清空文件
fopen的返回值: 如果成功返回FILE结构体地址,失败返回NULL
返回的文件流指针标识了打开的那个文件
在这里插入图片描述

4 fclose

fclose(FILE *fp);
功能: 关闭文件
参数: 文件流指针

5 vs中. 当前./相对路径问题

1 如果直接在vs中调试运行: 相对路径相对的是工程文件
在这里插入图片描述
2 如果手动运行,.exe文件.相对路径相对的是可执行文件

6 设备文件

stdin
stdout
stderr

7 fputc

功能: 写入一个字符到文件中

int fputc(int ch, FILE * stream);
功能:将ch转换为unsigned char后写入stream指定的文件中
参数:
       ch:需要写入文件的字符
       stream:文件指针
返回值:
       成功:成功写入文件的字符
       失败:返回-1
FILE *fp = fopen("./a.txt","w");
        if (NULL == fp)  //判断文件是否打开成功
        {
               perror("open");
               return;
        }
        char buf[] = "hello";
        int i = 0;
        while (buf[i] != 0)
        {
               fputc(buf[i],fp);
               i++;
        }

8 fgetc 读取一个字符

#include <stdio.h>
int fgetc(FILE * stream);
功能:从stream指定的文件中读取一个字符
参数:
       stream:文件指针
返回值:
       成功:返回读取到的字符
       失败:-1

9 fgets 从文件读取字符串

注意: fgets读取遇到\n结束

char * fgets(char * str, int size, FILE * stream);
功能:从stream指定的文件内读入字符,保存到str所指定的内存空间,直到出现换行字符、读到文件结尾或是已读了size - 1个字符为止,最后会自动加上字符 '\0' 作为字符串结束。
参数:
       str:字符串
       size:指定最大读取字符串的长度(size - 1)
       stream:文件指针
返回值:
       成功:成功读取的字符串
       读到文件尾或出错: NULL

10 fputs 向文件写入字符串

#include <stdio.h>
int fputs(const char * str, FILE * stream);
功能:将str所指定的字符串写入到stream指定的文件中,字符串结束符 '\0'  不写入文件。
参数:
       str:字符串
       stream:文件指针
返回值:
       成功:0
       失败:-1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值