当前位置: 首页 > article >正文

c语言笔记 fgets

fgets 是 C语言中的一个标准输入输出函数,用于从输入流(如文件、键盘等)读取一行字符串。它的名字来源于 "File GeT Sring",表示从文件中读取字符串。
fgets 的函数原型如下:
char *fgets(char *str, int n, FILE *stream);

参数说明

  1. str
  1. n
  1. stream
stdin、标准输出
stdout、标准错误
stderr,或者是通过
fopen 打开的文件指针。

返回值

  • 如果成功读取字符串,fgets 会返回 str 指针。
  • 如果到达文件末尾(EOF)或发生读取错误,则返回 NULL。

示例代码

1. 从键盘读取字符串```c
#include <stdio.h>
int main() 
{
    char buffer[100];
    printf("请输入一行字符串:");
    if (fgets(buffer, 100, stdin) != NULL) 
    {
        printf("你输入的字符串是:%s", buffer);
    } 
    else
    {
        printf("读取输入失败!\n");
}
return 0;
 2. 从文件读取字符串
#### 2. 从文件读取字符串
```c
#include <stdio.h>

int main() {
    FILE *;
file    char buffer[100];

    file = fopen("example.txt", "r");
    if (file == NULL) {
        perror("无法打开文件");
        return 1;
    }

    printf("文件内容如下:\n");
    while (fgets(buffer, 100, file) != NULL) {
        printf("%s", buffer);
    }

    fclose(file);
    return 0;
}

注意事项

和 gets 的区别

  • gets
是一个不安全的函数,因为它不会检查缓冲区的大小,容易导致缓冲区溢出。
  • fgets
是更安全的选择,因为它允许指定最大读取长度。

http://www.kler.cn/a/576626.html

相关文章:

  • Maven匹配机制和仓库库设置
  • *算法中的数据结构(3)
  • 【神经网络】python实现神经网络(一)——数据集获取
  • 【hello git】git rebase、git merge、git stash、git cherry-pick
  • 实现Django和Transformers 构建智能客服大模型(模拟订单系统)
  • 【每日学点HarmonyOS Next知识】双向传值问题、子组件半径、VIdeo标签下载隐藏、字符串替换、路由问题
  • 2025年科技趋势深度解析:从“人工智能+”到量子跃迁的技术革命
  • Qt:多线程
  • 通过Nacos API实现微服务不间断部署
  • Linux中的序列化和反序列化与网络计算器
  • 2025系统架构师(一考就过):案例之五:典型架构、架构演化、人工智能、云计算、大数据
  • 数据库基础练习1
  • 什么是 kafka
  • 无人机应用探索:玻纤增强复合材料的疲劳性能研究
  • GOPATH和Go Modules模式
  • 机器学习常见面试题
  • Kubernetes中的 iptables 规则介绍
  • 一、MySQL备份恢复
  • 【LangChain】Python Web框架推荐
  • 微信小程序引入vant-weapp组件教程