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

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.dtcms.com/a/56428.html

相关文章:

  • 引领变革!北京爱悦诗科技有限公司荣获“GAS消费电子科创奖-产品创新奖”!
  • 【人工智能学习之优化为什么会失败】
  • AI大模型概念知多少
  • leetcode日记(81)二叉树的中序遍历
  • Scala基础语法
  • 视频提取硬字幕,字幕擦除,字幕翻译工具推荐
  • 深入理解与配置 Nginx TCP 日志输出
  • 实训任务2.2 使用Wireshark捕获数据包并分析
  • 1. 树莓派上配置机器人环境(具身智能机器人套件)
  • 启动wsl里的Ubuntu24报错:当前计算机配置不支持 WSL2,HCS_E_HYPERV_NOT_INSTALLED
  • Qt调试功能使用方法
  • 【使用hexo模板创建个人博客网站】
  • 趣味学习法,助力消防设施操作员考试
  • Spring(五)容器-依赖注入的三种方式
  • C语言——位操作运算
  • electron + vue3 + vite 主进程到渲染进程的单向通信
  • Gravitino源码分析-SparkConnector 实现原理
  • HTML5的新特性有哪些?
  • 网络安全配置截图 网络安全i
  • 【AI赋能】AI工具图文创造指南:从主题到一键发布的完整指南
  • 动态ip和静态ip适用于哪个场景?有何区别
  • CODEGEN:一种基于多轮对话的大型语言模型编程合成方法
  • 永洪科技深度分析实战,零售企业的销量预测
  • 隐私保护在 Facebook 用户身份验证中的应用
  • 从连接到交互:SDN 架构下 OpenFlow 协议的流程与报文剖析
  • LLM论文笔记 19: On Limitations of the Transformer Architecture
  • 【江协科技STM32】TIM编码器接口测速(学习笔记)
  • 【虚拟化】Docker Desktop 架构简介
  • SyntaxError: Illegal return statement
  • 【git】ssh配置提交 gitcode-ssh提交