fgets函数是不是不能读取文件中双引号括起来的内容?

fgets函数是不是不能读取文件中双引号括起来的内容?,第1张

可以的。fgets函数对读取的内容本身不限制,但是你提供的第一个参数类型是char指针,初始化的时候还指定了长度,这个必须考虑进去的。另外,在你赋值文件句柄的时候,为了安全读取原字节,可以以二进制模式打开文件,因为在windows平台,文本模式会对换行符等进行转换,这是不安全的。

缓冲区数组要足够大,装得下一行的内容.示例如下:

#include <stdio.h>

int main( void )

{

   FILE *stream

   char line[100]

   if( fopen_s( &stream, "crt_fgets.txt", "r" ) == 0 )

   {

      if( fgets( line, 100, stream ) == NULL)

         printf( "fgets error\n" )

      else

         printf( "%s", line)

      fclose( stream )

   }

}

1、fgets和fgetc都是文件函数中的输入函数。其中第fgets是输入一个字符串,而fgetc则是输入一个字符。讲道理输入一个字符是比输入一个字符串快,但是也快不上零点几毫秒。

2、例如:

#include <string.h>

#include <stdio.h>

int main(void)

{

 FILE *stream

 char string[100],c 

 stream = fopen("fan.txt", "r+")  /* 打开一个文本*/

 fgets(string,99, stream)  /* 读取文本中第一行 */

 printf("%s", string) /* 在控制台显示该行文字 */

 c = fgetc(stream)//读取文本第二行第一个字符

 putchar(c) //在控制台显示该字符

 fclose(stream) //关闭文件

 return 0

}

3.

如果是读写同样多的字符,fgets应当高一些.

因为它只读一次。即系统只调用一次。

你fgetc一方面加循环,另一方面,系统调用多次。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11495261.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存