C语言fputs()和fgets()函数

举报
C语言与CPP编程 发表于 2021/06/04 00:39:58 2021/06/04
【摘要】 在C语言编程中,fputs()和fgets()函数用于从流中写入和读取字符串。 下面来看看看如何使用fgets()和fgets()函数写和读文件。 写文件:fputs()函数 fputs()函数将一行字符串写入文件,它将字符串输出到流。 其行为方式如下: (1)遇到换行或文件结束EOF则返回。 (2)按行读取。 (3)每一行结束处的换行字符‘/n’也算该行字...

在C语言编程中,fputs()和fgets()函数用于从流中写入和读取字符串。

下面来看看看如何使用fgets()和fgets()函数写和读文件。

写文件:fputs()函数 fputs()函数将一行字符串写入文件,它将字符串输出到流。

其行为方式如下:

(1)遇到换行或文件结束EOF则返回。

(2)按行读取。

(3)每一行结束处的换行字符‘/n’也算该行字符。

(4)对于大小为size的buf,最多只读取size-1个字符。

(5)自动地把buf中最后一个字符(通常是换行符)的后面一个字节填充零结束符(’/0’)。

fputs()函数的语法:

int fputs(const char *s, FILE *stream)

  
 
  • 1

示例:创建一个源文件:fputs-write-file.c,其源代码如下 -


#include<stdio.h>
//20200427
void main() {
FILE *fp;
fp = fopen("my-write-file.txt", "w");
fputs("hello c programming \n", fp);
fputs("performance c programming \n", fp);
printf("all content had write to file: my-write-file.txt\n");
fclose(fp);
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

执行上面示例代码,得到以下结果 :

all content had write to file: my-write-file.txt

  
 
  • 1

执行上面代码后,打开文件:my-write-file.txt,应该会看到以下内容

hello c programming
performance c programming

  
 
  • 1
  • 2

读取文件:fgets()函数 fgets()函数从文件中读取一行字符串,它从流中获取字符串。

其行为方式如下:

(1)把str中零结束符之前的全部文字输入到文件中。

(2)输入完成后,不会增加额外的特殊字符,如换行符等。

语法:

char* fgets(char *s, int n, FILE *stream)

  
 
  • 1

示例:创建一个源文件:fgets-read-file.c,其代码如下所示 :

#include<stdio.h>
//20200427
void main() 
{
  FILE *fp;
  char text[300];
  fp = fopen("my-write-file.txt", "r");
  printf("%s", fgets(text, 200, fp)); // 第一行
  printf("%s", fgets(text, 200, fp)); // 第二行
  fclose(fp);
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

执行上面示例代码,得到以下结果:

hello c programming
performance c programming

  
 
  • 1
  • 2

文章来源: blog.csdn.net,作者:C语言与CPP编程,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_41055260/article/details/105800046

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。