您的位置:首页 > 编程语言 > C语言/C++

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

2017-04-26 21:04 288 查看
表头文件 #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);

}







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语言 文件函数