fgets函数

打开文件 fopen("需要打开的路径")
然后使用fgets函数读取行
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LINE 1024
int main()
{
     char buf[MAX_LINE];  /*缓冲区*/
     FILE *fp;            /*文件指针*/
     int len;             /*行字符个数*/
     if((fp = fopen("test.txt","r")) == NULL)
     {
          perror("fail to read");
          exit (1) ;
     }
     while(fgets(buf,MAX_LINE,fp) != NULL)
     {
        len = strlen(buf);
        buf[len-1] = ‘\0‘;  /*去掉换行符*/
        printf("%s %d \n",buf,len - 1);
      }
  return 0;
}

参考http://zhidao.baidu.com/link?url=v05snVw-rKwoInpurhiYP8d9ACTJHjX4yX8-2eIX9RZbMrR-3yXjrj5_aaPwMkhDxheZoSJj3Gf0IDg29vj95q

时间: 2024-12-23 14:53:10

fgets函数的相关文章

fscanf函数和fprintf函数、fgets函数和fputs函数、fread函数和fwrite函数

1. fscanf 函数和 fprintf 函数 1.1 fscanf 函数 fscanf 函数只能从文本文件中按格式输入.fscanf 函数和 scanf 函数相似,只是输入的对象是磁盘上文本文件的数据.函数的调用形式如下: fscanf( 文件指针,格式控制字符串,输入项表 ); 例如,若文件指针 fp 指向一个已打开的文本文件,a.b 分别为整型变量,则以下语句从 fp 所指的文件中读入两个整数放入变量 a 和 b 中: fscanf( fp, "%d%d", &a, &

gets和fgets函数的区别

1. gets与fgets gets函数原型:char*gets(char*buffer);//读取字符到数组:gets(str);str为数组名. gets函数功能:从键盘上输入字符,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中. 读取的换行符被转换为null值,做为字符数组的最后一个字符,来结束字符串. 注意:gets函数由于没有指定输入字符大小,所以会无限读取,一旦输入的字符大于数组长度,就会发生内存越界, 从而造成程序崩溃或其他数据的错误. fg

fgets()函数读取键盘,去掉换行符或丢弃多余的字符

在上一遍随笔中,我们知道可以用fgets()函数来代替不安全的gets()函数.fgets函数中的第二个参数限制了读取的个数. 上篇文章也提到,fgets是会读取回车换行符的.有时候我们并不希望在字符串中存在换行符.有的时候我们在一行中多输入了几个字符,而这几个字符并不是我们想要的.这时可以写一个小程序解决这个问题 下面看程序(来自于C Primer Plus 第六版):该程序的功能是:读取输入行,删除存在字符串中的换行符,如果没有换行符,则丢弃数组装不下的字符. #include <stdio

PHP fgets 函数

<?php $handle=fopen("../good/html/1.txt","r"); ; //打开一个远程文件 $content=""; //将字符串$content初始化为空 while(!feof($handle)) //判断是否到文件末尾 { $data=fread($handle,8192); //读取文件内容 $content.=$data; //将读取到的数据赋给字符串 } echo $content; //输出内容 f

c语言gets()函数与它的替代者fgets()函数

在c语言中读取字符串有多种方法,比如scanf() 配合%s使用,但是这种方法只能获取一个单词,即遇到空格等空字符就会返回.如果要读取一行字符串,比如: I love BIT 这种情况,scanf()就无能为力了.这时我们最先想到的是用gets()读取. gets()函数从标准输入(键盘)读入一行数据,所谓读取一行,就是遇到换行符就返回.gets()函数并不读取换行符'\n',它会吧换行符替换成空字符'\0',作为c语言字符串结束的标志. gets()函数经常和puts()函数配对使用,puts

C语言gets函数,fgets函数的使用

gets从标准输入设备读字符串函数.可以无限读取,不会判断上限,以回车结束读取.函数的具体功能如下所示:从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中.换行符不作为读取串的内容,读取的换行符被转换为‘\0’空字符,并由此来结束字符串. 使用gets函数的时候应注意以下要素:可以无限读取,不会判断上限,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出.如果溢出,多出来的字符将被写入到堆栈中,破坏一个或多个不

利用fgets()函数来判断一个文件有多少行

/* 统计一个文件有多少行 *fgets()函数是一个行缓冲的函数 *行缓冲的函数一般有4种情况来刷新缓冲区: *1:缓冲区满了 *2:用fllush刷新缓冲区函数 *3:流的关闭 *4:遇到'\n' *fgets()达到文件尾或读出错返回NULL.可以用foef()来判断是 *出错,还是达到了文件尾. *注意点:fgets(buf,N,fp) *1:如果buf有N个字节,buf满了,则buf中有 * N-1个字节,最后个字节是'\0'. *2:遇见了'\n',把'\n'写出buf中,在'\n'

用指针打印字符串长度(指针 &amp; fgets函数)

1 #define _CRT_SECURE_NO_WARNINGS 2 #include <stdio.h> 3 #include <stdlib.h> 4 #define MAX 1024 5 6 int main(){ 7 //用指针打印字符串长度 8 char str[MAX]; 9 char *target = str; 10 int length = 0; 11 12 printf("请输入一个字符串:"); 13 fgets(str, MAX, st

fgets()函数以及fputs()函数

fgets() fgets() 该函数是一个文件操作相关的函数 暂时使用这个函数可以从键盘接收一个字符串,保存到字符数组中 原来接收字符串保存到数组中的方法: char str[50]; 1) scanf("%s",str); //缺点:不能接收空格 2)gets(str); //优点:可以接收空格 //缺点:会有一个不安全的警告 fgets()是一个安全的字符串接收的函数 char ch[5];//如果使用fgets,此时数组中最多存放4个可见字符 //会自动的把数组的最后一个元素存