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

fgets在c语言中怎么用(附带实例)

C语言程序中,打开文件后,可对文件进行读出或写入的操作。C 语言提供了丰富的文件操作函数,本节就对 fputs() 和 fgets() 函数的用法做系统地讲解。

C语言fgets()函数

fgets() 函数用于从指定的文件中读取一个字符串到字符数组中,其一般形式如下:
fgets(字符数组名,n,文件指针);
其中,n 表示读取的字符串中字符的个数(包含“\0”)。

【实例 2】在 E 盘创建一个文件 sing.txt,文件内容为《500 Miles》的一句歌词,将内容输出在控制台上。
#include<stdio.h>
#include<process.h>
int main()
{
    FILE *fp;
    char filename[30], str[30]; /* 定义两个字符型数组 */
    printf("请输入文件路径:\n");
    scanf("%s", filename); /* 输入文件名 */
    if((fp = fopen(filename, "r")) == NULL) /* 判断文件是否打开失败 */
    {
        printf("不能打开文件!\n 请按任意键结束\n");
        getchar();
        exit(0);
    }
    fgets(str, sizeof(str), fp); /* 读取磁盘文件中的内容 */
    printf("%s", str);
    printf("\n");
    fclose(fp);
    return 0;
}
假设 E:\sing.txt 文件中存储的歌词内容为:

If you miss the train I'm on

程序执行结果为:

请输入文件路径:
E:\sing.txt
If you miss the train I'm on

C语言fputs()函数

和 fgets() 函数功能相对的,就是往文件中写入一个字符串,推荐使用 fputs() 函数。

fputs() 函数的一般形式如下:
fputs(字符串,文件指针)
其中,字符串可以是字符串常量,也可以是字符数组名、指针或变量。

【实例 1】将歌词录入文件中。
#include<stdio.h>
#include<process.h>
int main()
{
    FILE *fp;
    char filename[30], str[30]; /* 定义两个字符型数组 */
    printf("请输入文件路径:\n");
    scanf("%s", filename); /* 输入文件名 */
    if((fp = fopen(filename, "w")) == NULL) /* 判断文件是否打开失败 */
    {
        printf("不能打开文件!\n 请按任意键结束\n");
        getchar();
        exit(0);
    }
    printf("请输入歌词:\n"); /* 提示输入字符串 */
    getchar();
    gets(str); /* 将字符串写入 fp 所指向的文件中 */
    fputs(str, fp);
    fclose(fp);
    return 0;
}
程序执行结果为:

请输入文件路径:
E:\demo.txt
请输入歌词:
一想到你我就 wu~~

程序执行完成后,打开 E:\demo.txt 会看到成功写入的歌词。

相关文章