C语言文件操作(3) --- stdio.h中其他有关文件操作的函数

本篇文章会讲述一些其他有关文件操作的函数,相比前两篇文章介绍的函数,有些可能不大常用。

1. feof()函数

    ・原型:

int feof (FILE *stream);

    ・使用方法:检测“流”上的文件结束符EOF,如果检测得到,则返回一个非零值,否则返回0。

    ・例子(将一个文件的文本内容复制到另一个文件):     

#include<stdio.h>

int main(void)
{
    FILE* input = fopen("D:\\abc.in", "r");
    FILE* output = fopen("D:\\abc.out", "w");
    while (!feof(input))
    {
        fprintf(output, "%c", fgetc(input));   
    }
    fclose(stream);
    return 0;
}

2. fgetc()函数

    ・原形:

int fgetc(FILE *stream);

    ・使用方法:不断从文件中读下一个字符,读到EOF时结束,并返回一个值。

    ・例子:见feof()函数的例子,里面有fgetc()函数的使用。

    ・相关函数:getchar()函数(此函数是从stdin标准流读入的(一般从控制台读入))

int getchar(void);

                getc()函数(此函数可以读多个(文件)流,而fgetc()只能读一个流)

int getc(FILE *stream);

3.  fputc()函数:

    ・原型:

int fputc(int c, FILE *stream);

    ・使用方法:不过多介绍,是fgetc的逆向过程(即从文件中输出字符),只是第一个参数表示要输出的字符

    ・例子(引用“fputc_百度百科”):

#include <stdio.h>
#include <string.h>
int main()
{
    FILE*f;
    char*s="Hey,Buddy!";
    int i;
    f=fopen("myFile.txt","w");
    for(i=0;i<strlen(s);i++)
    fputc(s[i],f);
    fclose(f);
    return 0;
}

    ・相关函数:putchar()、putc()函数(也是getchar(),getc()的逆向过程)。

4. fgets()函数:

    ・原型:

char *fgets(char *s, int n, FILE *stream);

    ・使用方法:参数一表示字符串的首地址,参数二表示储存数据的大小(即字符串的长度),参数三表示待读入的

                文件流

    ・例子(引用“fgets_百度百科”):

#include<string.h>
#include<stdio.h>
 
int main (void)
{
    FILE*stream;
    char string[]="Thisisatest";
    char msg[20];
/*open a file for update*/
    stream=fopen("DUMMY.FIL","w+");
/*write a string into the file*/
    fwrite(string,strlen(string),1,stream);
/*seek to the start of the file*/
    fseek(stream,0,SEEK_SET);
/*read a string from the file*/
    fgets(msg,strlen(string)+1,stream);
/*display the string*/
    printf("%s",msg);
    fclose(stream);
    return 0;
}

    ・相关函数:gets()函数(还是从控制台输入字符串)

5. fputs()函数:

    ・原型:

int fputs(const char *s, FILE *stream);

    ・使用方法:fgets()的逆向过程,即将字符串输出到指定文件流中

    ・相关函数:puts()函数


    好的,暂时介绍这些函数,更多函数可以参见stdio.h文件中的声明

本文出自 “mlh1719233148的博客” 博客,转载请与作者联系!

你可能感兴趣的:(c,编程语言,文件操作)