关于fgets函数

原创 2016年08月29日 20:18:56

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">fegts函数,有一个容易忽略的点就是:</span>

如果fgets函数读入的字符串在读到换行符时,会在字符串后面加上”\n“和”\0“,如此一来,当用strlen函数读取字符串长度时会比实际字符串长度多1。

#include <stdio.h>
#include <string.h>
#define MAX 100+10
char a[MAX];
int main(void)
{
  int num=0,i;
  fgets(a,sizeof(a),stdin);
  for(i=0;i<strlen(a)-1;i++)
  {
    num=num*10+a[i]-'0';
  }
  printf("%d\n",num);
  return 0;
}

该程序用fgets函数读入整数,如果将循环条件改为
for(i=0;i<strlen(a);i++)
结果将不可预知。
版权声明:本文为博主原创文章,未经博主允许不得转载。

关于fgets()函数使用时遇到的问题和解决办法

1 #include 2 #include 3 #include "struct.h" //这是一个录入书的名称和价格的程序main函数 7 int main() 8 { 9...
  • xiaoyu_luobei
  • xiaoyu_luobei
  • 2017年03月12日 11:44
  • 837

完全详解fgets()函数!

关于fgets()函数的描述如下: fgets() Read a string of characters from a stream Synopsis: #include char* f...
  • n_comoon
  • n_comoon
  • 2012年07月02日 19:03
  • 1034

fgets函数的理解

fget函数的原型如下:char *fgets(char *buf, int n, FILE *fp)功能:从文件流读取一行,送到缓冲区,使用时注意以下几点:1.当遇到换行符或者缓冲区已满,fgets...
  • kenby
  • kenby
  • 2008年11月12日 19:45
  • 32093

socket编程---fgets和fputs函数使用理解

这一节是继续上一节socket05的讨论,来探讨在使用socket进行通信中遇到的一些函数使用理解误区1.fgets的使用注意点在写socket通信(代码见上一篇中,只是将sendbuf和recvbu...
  • tingyun_say
  • tingyun_say
  • 2016年07月24日 14:47
  • 1269

Linux库函数之fgets

函数原型: char *fgets(char *buf, int bufsize, FILE *stream); 通过该函数可以从文件中按行(一般是1024字节)读取数据,也可以从标准输入(stdin...
  • donghanhang
  • donghanhang
  • 2016年03月07日 21:50
  • 1188

fgets()函数的使用方法及注意事项(笔记)

fgets()函数:用于读取文件字符串 头文件:include 函数说明:fgets()函数用来从参数stream所指的文件内读入字符并存到参数s所指的内存空间,知道出现换行符,读到文件尾或是已...
  • u011910350
  • u011910350
  • 2016年10月31日 19:47
  • 1856

【C语言】-->语法 fgets函数原理初探

问题来源于《 c与指针》 1.7章节中的一个问题: 问题:下面的代码可能出现什么问题?                while ( gets (input) != NULL){}...
  • chenglibin1988
  • chenglibin1988
  • 2013年03月29日 20:46
  • 8127

fgets的使用

从文件结构体指针stream中读取数据,每次读取一行。读取的数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufsize个字符赋'\0'),如果文件中的该行,不足bufsi...
  • fuyuehua22
  • fuyuehua22
  • 2014年09月02日 10:07
  • 1762

【C语言】fgets函数添加换行符的机制

通常使用scanf()、gets()等输入函数来进行输入,但是scanf()有时没有必要,而gets()又有安全隐患,那么我们可以使用fgets函数。   fgets()的函数原型如下:   ch...
  • ikacarrot
  • ikacarrot
  • 2016年12月04日 16:20
  • 568

C语言中的fgets函数

C语言文件操作之fgets() 原创 2013年01月25日 11:57:00 标签:C语言 /fgets... /文件操作函数 142460   ...
  • liuxiangxxl
  • liuxiangxxl
  • 2017年11月13日 20:46
  • 52
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于fgets函数
举报原因:
原因补充:

(最多只允许输入30个字)