首页 > 编程笔记 > C语言笔记 阅读:14

C语言fgets()和fputs():以字符串的形式读写文件(附带实例)

fgetc() 和 fputc() 函数每次只能读写一个字符,速度较慢;实际开发中往往是每次读写一个字符串或者一个数据块,这样能明显提高效率。

C语言fputs()函数

fputs() 函数与 fputc() 函数类似,区别在于 fputc() 函数每次只向文件中写入一个字符,而 fputs() 函数每次向文件中写入一个字符串。

fputs() 函数的一般形式如下:
fputs(字符串,文件指针)
有以下几点说明:
【实例】向指定的文件写入“https://c.biancheng.net/c/”。具体代码如下:
#define _CRT_SECURE_NO_WARNINGS                /*解除vs安全性检测问题*/
#include<stdio.h>
#include<process.h>
void main()
{
    FILE* fp;                    /*定义一个指向FILE类型结构体的指针变量*/
    char filename[30], str[30];   /*定义两个字符型数组*/
    printf("please input filename:\n");
    scanf("%s", filename);                    /*输入文件名*/
    if ((fp = fopen(filename, "w")) == NULL)  /*判断文件是否打开失败*/
    {
        printf("can not open!\n Press any key to continue:\n");
        getchar();
        exit(0);
    }
    printf("please input string:\n");   /*提示输入字符串*/
    getchar();
    gets(str);
    fputs(str, fp);                     /*将字符串写入fp所指向的文件*/
    fclose(fp);                         /*关闭文件*/
}
运行程序后:

please input filename:
E:\\demo.txt
please input string:
https:/c.biancheng.net/c/

程序运行完成后打开 E:\demo.txt 文件会看到 https:/c.biancheng.net/c/。

C语言fgets()函数

fgets() 函数与 fgetc() 函数类似,区别在于 fgetc() 函数每次从文件中读出一个字符,而 fgets() 函数每次从文件中读出一个字符串。

fgets() 函数的一般形式如下:
fgets(str,n,文件指针);
有以下几点说明:
【实例】在 E 盘先创建一个文件,文件的内容为“https:/c.biancheng.net/c/”,再运行程序读取这个文件。具体代码如下:
#define _CRT_SECURE_NO_WARNINGS                 /*解除vs安全性检测问题*/
#include<stdio.h>
#include<process.h>
void main()
{
    FILE* fp;                    /*定义一个指向FILE类型结构体的指针变量*/
    char filename[30], str[30];   /*定义两个字符型数组*/
    printf("please input filename:\n");
    scanf("%s", filename);                    /*输入文件名*/
    if ((fp = fopen(filename, "r")) == NULL)  /*判断文件是否打开失败*/
    {
        printf("can not open!\n Press any key to continue\n");
        getchar();
        exit(0);
    }
    fgets(str, sizeof(str), fp);            /*读取磁盘文件中的内容*/
    printf("%s", str);
    printf("\n");
    fclose(fp);                             /*关闭文件*/
}
程序运行过程为:

please input filename:
E:\\demo.txt
https:/c.biancheng.net/c/

相关文章