首页 > 其他分享 >c语言文件操作函数应用(2) ——学习整理

c语言文件操作函数应用(2) ——学习整理

时间:2022-11-30 18:03:52浏览次数:39  
标签:fp 文件 ch 函数 fputc fgetc 语言 整理 指针


表头文件 #include<stdio.h>

字符读写函数

1.      fgetc()(由文件中读取一个字符)
【定义函数】int fgetc(FILE * stream);
【函数说明】 fgetc()从参数stream所指的文件中读取一个字符,若读到文件尾而无数据时便返回EOF。
【返回值】 getc()会返回读取到的字符,若返回EOF则表示到了文件尾。

【说明】在文件内部有一个位置指针,用来指向文件的当前读写字节。在文件打开时,该指针总是指向文件的第一个字节,只用fgetc()函数后,该位置指针将向后移动一个字节,因此可连续多次使用fgetc函数,读取多个字符。

【例】

#include<stdio.h>

void main()

{

                  FILE*fp;

                  intc;

fp=fopen("D://exist.txt","r");

while((c=fgetc(fp))!=EOF)

printf("%c",c);

fclose(fp);

}

c语言文件操作函数应用(2) ——学习整理_#include

c语言文件操作函数应用(2) ——学习整理_数据_02

c语言文件操作函数应用(2) ——学习整理_#include_03

2.      fputc()
【定义函数】 int fputc(int c,FILE * stream);
【函数说明】 fputc 会将参数c 转为unsigned char 后写入参数stream 指定的文件中。
【返回值】 fputc()会返回写入成功的字符,即参数c,若返回EOF则代表写入失败。

【说明】文件指针和文件内部的位置指针不是一回事。

文件指针是指向整个文件的,须在程序中定义说明,只要不重新赋值,文件指针的值是不变的。

文件内部的位置指针用以指示文件内部的当前读写位置,每读写一次,该指针均向后移动,它不需要在程序中定义说明,而是由系统自动设置的。

【例】

#include <stdio.h>

void main()

{

    FILE *fp;

    char ch, filename[20];

 

    printf("Pleaseinput the filename you want to write:");

    scanf("%s",filename);

    if(!(fp=fopen(filename,"at+")))//"at+"以读/写方式打开一个文本文件,允许读或在文本末追加数据。

    {

       printf("Cannot open the file!\n");

        exit(0);//终止程序

    }

    printf("Pleaseinput the sentences you want to write:");

    ch = getchar();

    while(ch!= EOF)

    {

        fputc(ch,fp);

        ch = getchar();

    }

    fclose(fp);

}

c语言文件操作函数应用(2) ——学习整理_文件函数_04

c语言文件操作函数应用(2) ——学习整理_c语言_05

c语言文件操作函数应用(2) ——学习整理_文件指针_06

    

c语言文件操作函数应用(2) ——学习整理_文件函数_07

c语言文件操作函数应用(2) ——学习整理_数据_08

对代码进行如下改动可消除行首的空行:

 

c语言文件操作函数应用(2) ——学习整理_c语言_09

标签:fp,文件,ch,函数,fputc,fgetc,语言,整理,指针
From: https://blog.51cto.com/u_12528551/5900086

相关文章

  • c语言文件操作函数应用(3) ——学习整理
    表头文件#include<stdio.h>1.读字符串函数fgets格式:fgets(字符数组名,n,文件指针);功能:从指定的文件中读一个字符串到字符数组中。说明:n表示从文件中读出的字符串不超过n-1......
  • javascript函数的理解
    参考:https://www.liaoxuefeng.com/wiki/1022910821149312/1023021087191360在js里,函数是一等公民。函数可以分配给变量函数可以作为参数传递给其他函数函数可以从其他......
  • iTOP2k1000开发板Makefile基本语法-wildcard函数
    格式:$(wildcardPATTENR)功能:展开指定的目录举例:在/home/topeet/test目录有一个“a.c”的c文件和一个test的文件夹,在/home/topeet/test/test文件夹下有一个......
  • select_related和prefetch_related函数
    在数据库存在外键的其情况下,使用select_related()和prefetch_related()很大程度上减少对数据库的请求次数以提高性能在表中查找数据的时候,使用外键表related_name里面的值......
  • lambda 标准函数
    1、标准函数let,also,with,run和apply1)、let函数,必须让某个对象调用,接收一个Lambda表达式参数,Lambda表达式中的参数为当前调用者,且最后一行代码作为返回值2)、also函数......
  • 用递归函数实现反序输出正整数
    大家下午好呀,今天的分享就是我的作业啦,可能对一些大佬来说很基础,但是我经过综合多方意见,终于写出来啦首先是题目然后我们分析下这道题,一开始我是很懵逼的,不知道老师为啥要说......
  • Job/CronJob的理解(chrono《kubernetes入门实战课》笔记整理)
    【k8s所有的服务是否都可以集成在一个个pod里?】pod里,已经可以直接调度其内部所有的容器,来一起提供一个整体的应用。为什么k8s还有其他额外的对象来做k8s的其他服务呢,直接......
  • Python学习(二):字符串常用函数有哪些?
    1.检验字符串长度:len(str);a="hellopython"len(a)12a="hellopython"len(a[::2])##从头取到尾,隔一个取值的长度6 2.切割字符串:obj.split(str);a="hell......
  • C语言动态内存管理
    在学习和使用C语言的过程中经常要编写管理内存的程序,往往提心吊胆。若是不想踩雷,唯一的办法就是深入理解内存管理,发现所有的陷阱并排除他们。内存的使用方式内存主要有三种......
  • 分区函数Partition by使用
    1、PARTITIONBY使用基本语法over(partitionbycol1orderbycol2);selectt.*,row_number()over(orderbydata_datedesc)rowIndexfromtablet;2、over parti......