fputs与fgets

【语音识别算法】深度学习语音识别算法与传统语音识别算法的区别、对比及联系 深度学习语音识别算法与传统语音识别算法在理论基础、实现方式、性能表现等方面存在显著区别,同时也有一些联系。下面将从几个方面详细比较这两种方法,并给出应用实例和代码示例。 阅读详情

1.      fputs

函数名: fputs 
功  能: 送一个字符到一个流中 
用  法: int fputs(char *string, FILE *stream); 

 

说明:

fputs是一种函数,具有的功能是向指定的文件写入一个字符串(不自动写入字符串结束标记符‘\0’)。成功写入一个字符串后,文件的位置指针会自动后移,函数返回值为非负整数;否则返回EOF(符号常量,其值为-1)。

缓冲区string中保存的是以'/0'结尾的字符串,fputs将该字符串写入文件stream,但并不写入结尾的'/0'。与fgets不同的是,fputs并不关心的字符串中的'/n'字符,字符串中可以有'/n'也可以没有'/n'
程序例: 

#include <stdio.h> 


int main(void) 
{ 
   /* write a string to standardoutput */ 
   fputs("Hello world\n", stdout); 

   return 0; 

} 

 

也可以输出到一个文件流

 

2.      fgets

函数名: fgets 
功  能: fgets从指定的文件中读一行字符到调用者提供的缓冲区中

用  法: char *fgets(char *string, int size,FILE *stream); 

 

说明:

现在说说fgets函数,参数string是缓冲区的首地址,size是缓冲区的长度,该函数从stream所指的文件中读取以'/n'结尾的一行(包括'/n'在内)存到缓冲区string中,并且在该行末尾添加一个'/0'组成完整的字符串。

如果文件中的一行太长,fgets从文件中读了size-1个字符还没有读到'/n',就把已经读到的size-1个字符和一个'/0'字符存入缓冲区,文件中剩下的半行可以在下次调用fgets时继续读。

如果一次fgets调用在读入若干个字符后到达文件末尾,则将已读到的字符串加上'/0'存入缓冲区并返回,如果再次调用fgets则返回NULL,可以据此判断是否读到文件末尾。

注意:

对于fgets来说,'/n'是一个特别的字符,而'/0'并无任何特别之处,如果读到'/0'就当作普通字符读入。如果文件中存在'/0'字符(或者说0x00字节),调用fgets之后就无法判断缓冲区中的'/0'究竟是从文件读上来的字符还是由fgets自动添加的结束符,所以fgets只适合读文本文件而不适合读二进制文件,并且文本文件中的所有字符都应该是可见字符,不能有'/0'。
程序例: 

#include <string.h> 

#include <stdio.h> 

int main(void) 
{ 
   FILE *stream; 
   char string[] = "This is atest"; 
   char msg[20]; 

   /* open a file for update */ 
   stream =fopen("DUMMY.FIL", "w+"); 

   /* write a string into the file*/ 
   fwrite(string, strlen(string), 1,stream); 

   /* seek to the start of the file*/ 
   fseek(stream, 0, SEEK_SET); 

   /* read a string from the file */ 
   fgets(msg, strlen(string)+1, stream); 

   /* display the string */ 

   printf("%s", msg); 

   fclose(stream); 
   return 0; 
} 

使用Android Studio调试系统应用之TvSettings(一):移植 对于做ROM的同仁、以及想要深入学习Android同学,必定会去调试Android的系统APK,而 *aosp* 源码中的系统APK源码,无法直接在Android Studio中进行调试,本文将持续更新细节,手把手教你,使用Android Studio调试安卓的系统应用。在每个阶段,提供知识点的梳理、总结,为您答疑解惑! 阅读详情

相关推荐

玩转肺癌目标检测数据集Lung-PET-CT-Dx ——①从TCIA获取影像数据集

该目标检测公共数据集源自 The Cancer Imaging Archive(TCIA),是肿瘤研究方面的著名的医学影像公开数据库。 数据以 DICOM 格式存储,由肺癌受试者的 CT 和 PET-CT DICOM 图像组成。

takedachia的博客 1万+

C语言基础教程(fgets和fputs)

本篇文章我们来讲解一下fgets和fputs函数,这两个函数通常用来作为输入和输出功能使用。本篇文章主要讲解了fgets和fputs的使用,这两个函数主要用于输入和输出使用,以及讲解了fputc和fgetc的使用。

m0_49476241的博客 8341

宝塔面板 python管理器2.0安装Mrdoc

自从python管理器从1.9升级2.0后,导致原教程不能使用。 故关于2.0新开教程如下。 关于python管理器2.0 最大的区别在于: python管理器2.0不再需要进入虚拟环境,直接在当前环境进行操作,但是需要指定python路径及pip路径。 1、新建mrdoc工程目录,下载源码: 新建目录【mrdoc】,进入mrdoc目录,并在宝塔ssh或或远程ssh中执行 ,下载源码 git clone https://gitee.com/yang_lite/MrDoc.git .

debj031634的专栏 5992

C语言fgets()与fputs()详解

文章目录fgets()与fputs()1⃣️fgets()优缺点:2⃣️fgets()返回值:3⃣️fgets()操作实例:3⃣️fgets()操作进阶: fgets()与fputs() fgets()函数的第二个参数指明了读入字符的最大数量。如果该参数为n,那么fgets函数将读入n-1个字符。如果fgets()函数读到一个换行符,会把它储存在字符串中。这点与gets不同,gets会丢弃换行符...

Kevin.wang 2万+

CosyVoice 本地部署详细教程 手把手小白教程

本文提供了详细的CosyVoice本地部署教程,强调了避免中文名称和空格的重要性,并列出了必要的软件安装步骤,包括CUDA、cuDNN、Git和Miniconda。教程涵盖了从检查CUDA版本到下载模型和运行模型的全过程,确保用户能够顺利部署并使用CosyVoice。

huazn612的博客 2万+

宝骏kiwi 630 730 560 E100 E200 E300 310 510 610 330 530维修手册电路图资料线路图接线图更新

2020-2022年宝骏RS-3维修手册和电路图。2020-2022年宝骏RS-3维修手册和电路图。2019-2021年宝骏RC-6维修手册和电路图。2019-2021年宝骏RC-6维修手册和电路图。2019-2020年宝骏RS-5维修手册和电路图。2019-2020年宝骏RS-5维修手册和电路图。2019-2020年宝骏RM-5维修手册和电路图。2019-2020年宝骏RM-5维修手册和电路图。2019-2021年宝骏510维修手册和电路图。2019-2021年宝骏510维修手册和电路图。

weixin_45821055的博客 1771

顺序读写函数介绍 fgets和fputs,fgetc和fputc等的区别详解

这个函数返回 str 参数(即缓冲区),如果成功,或者 NULL(表示遇到文件结束或者出现错误)。printf -针对标准输出流(stdout) 的格式化输出函数。scanf-针对标准输入流(stdin) 的格式化输入函数。是C语言中的一个函数,用于从字符串中读取格式化的数据。是一个在 C 语言中常用的函数,用于将格式化的数据。fscanf -针对所有输入流的格式化输入函数。第一个参数是用于存储读取的字符串的缓冲区。sscanf-从字符中读取格式化的数据。函数用于从文件中读取格式化的数据。

yuncengzhishang的博客 880

2016域控服务器迁移,WIN Server2016 域服务器迁移出错

各位大神: 这几天刚安装了一台windows server 2016做域迁移时出现错误:1、默认SYSLOG、NETLOGON共享文件重启后自动取消共享,即使手动打开后依然会出现自动取消2、组策略中编辑策略时出现以下报错 policys.png (19.29 KB)2017-2-7 13:52操作此动作之前可以访问本机的共享(NETLOGON)3、使用DCDIAG检测多个报错:C:\Use...

weixin_31833039的博客 3314

(C语言)fgets与fputs函数详解

头文件:stdio.h函数有两个参数:str 与 stream。

2301_81224771的博客 8566

性能优化-高通cDSP(QDSP6)架构详解

高通cDSP开发的商业价值30秒快速认识高通cDSP开发的商业价值【高通cDSP旨在处理一些简单但需要大量计算的场景,如图像处理、科学计算、AI训练、计算机视觉等。这些场景使用CPU来运算会极大的降低CPU的吞吐量,因此利用现代寄存器较宽的特性设计出了适配数据并行的DSP芯片,cDSP就是典型的代表。利用cDSP+CPU既可以满足一般的使用场景,也可以完成现代图像和视频数据的处理。

发狂的小花的博客 5944

Ambari 3.0+BigTop 3.3集群部署实战

Ambari 3.0+BigTop 3.3集群部署

docsz的博客 609

文件操作(一、fgets和fputs、fscanf和fprintf、fread 和 fwrite、fopen和fclose、fgetc和fputc)

磁盘上的文件是文件。但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分类的)。

走在努力路上的自己的博客 2516

修复Oracle MySQL Server 安全漏洞(CVE-2023-0464)

修复Oracle MySQL Server 安全漏洞(CVE-2023-0464)

路~可以走过 3683

fgets,fputs,gets,puts

 fgets(由文件中读取一字符串)  相关函数   open,fread,fscanf,getc  表头文件   include  定义函数   har * fgets(char * s,int size,FILE * stream);  函数说明   fgets()用来从参数stream所指的文件内读入字符并存到参数s所指的内存空间,直到出现换行字符、读到文

lemon_fantasy的专栏 6427

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

fgets,fputs,gets,puts 总结

fgets,fputs,gets,puts 总结[@more@]fgets(由文件中读取一字符串)   相关函数   open,fread,fscanf,getc   表头文件   include   定义函数 ...

cuanyangpa3685的博客 157

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

fgets fputs fgetc fputc

功能:从给定的文件流(如文件、标准输入等)中读取字符,直到遇到换行符( '\n' )、达到指定长度或文件结束为止,并将读取的内容存入指定的字符数组(包含换行符,末尾自动添加 null 字符 '\0' 作为结束标志)。- 函数原型: int fputs(const char *str, FILE *stream) ,其中 str 是要写入的字符串, stream 是目标文件流(如 stdout 表示标准输出,即屏幕)。- 返回值:成功时返回写入的字符(转换为 int 类型);

ZhuBin365的博客 358

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

fputs 和 fgets

1. fputs功能:送一个字符串到一个流中表头文件:#include函数原型:int fputs(char *string, FILE *stream); string 需送入流的字符串指针stream 一个FILE型的指针返回值: 如果成功输入,fputs 返回 0,否则返回EOF(-1) 2. fgets功能:从流中读取一字符串表头文件:#include

Worm Hole 1717

代码示例_标准IO_fputs / fgets

fputs_fgets fgets_fputs.c 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <strings.h> 4 5 int main(void) 6 { 7 // 打开/创建 8 FILE *fp = fopen(...

weixin_30326515的博客 183

fgets,fputs,fputc,fgetc总结

总结如下: fgets: 从文件中每次读入一行。函数原型char * fgets(char *str,int n,FILE *fp),str是存放将要读入字符型数据的存放地址,n是数目变量,fp是文件指针。该函数表明从文件fp中读入n-1个字符放在以str为起始地址的空间,因为系统会在最后加上一个‘\0’。  读入过程中: 若该行字符数不超过n-2个(2代表该行本身的换行符‘\n’

Do_Cool_Thing 3725

fgets,fputs

1.函数原型 char *fgets(char *buf, int bufsize, FILE *stream); 参数 *buf: 字符型指针,指向用来存储所得数据的地址。 bufsize: 整型数据,指明存储数据的大小。 *stream: 文件结构体指针,将要读取的文件流。 返回值 成功,则返回第一个参数buf; 在读字符时遇到end-of-file,则eof指示器被设置,

Neil_Hao的专栏 1735

fgets和fputs的使用

fgets和fputs的使用

weixin_47783699的博客 2218

c语言字符串操作函数fgets()和fputs(),fgets()和fputs()

首先我们来看fgets()和fputs() char * fgets ( char * str, int num, FILE * stream ); Get string from stream Reads characters from stream and stores them as a C string into str until (num-1) characters have b...

mysterious superstar 455

fgets fputs 替换 gets puts

接收时会将换行符也接受,如果像上面有11个字符则不会接收,位置给\0。实际会接受11个字符,预留一个字符成为'\0'不会像puts();puts 没有字符串结尾\0不停止输出。使用这两个函数替换gets,puts。gets 不检测缓冲区大小。使用fputs 输出。

qq_47357951的博客 387

fopen,fgets,fputs,fgetc,fprintf函数

r”只读,“r+”读写(光标定义在开头) , "w"只写(如果文件存在则截断为0, 不存在则创建,光标定义在开头),“w+”读和写(如果文件存在则截断为0, 不存在则创建,光标定义在开头),“a”在文件末尾写(如果文件不存在,创建文件),“a+”读和写(读的时候文件定位在开头,写的时候定位在末尾,文件不存在则被创建)把数据存入缓冲区s中,最多读size - 1个,输入的 ‘\n’ 也算读取的字符(ctrl + d也算读到结尾标志),自动到后面添 ‘\0’(第size个) ,

weixin_64031674的博客 2217

fgets函数与fputs函数

#include         char *fgets(char *s, int size, FILE *stream); 功能:从文件流读取一行,送到缓冲区,使用时注意以下几点:         返回值:成功时s指向哪返回的指针就指向哪,出错或者读到文件末尾时返回NUL fgets函数,参数s是缓冲区的首地址,size是缓冲区的长度,该函数从stream所指的文件中读取以'\n'结尾的

jsyao的专栏 4197

fgetc、fputc、fgets、fputs函数的用法

本文介绍了C语言中常用的文件操作函数:fgetc/fputc和fgets/fputs。fgetc从文件读取单个字符,返回int类型以区分EOF;fputc向文件写入单个字符。fgets按行读取字符串,保留换行符并自动添加\0;fputs写入字符串但不自动添加换行符。文中提供了两个完整示例:使用fgetc/fputc实现文件复制,以及使用fgets/fputs实现文件逐行处理。注意事项包括:正确处理返回值、缓冲区大小设置、换行符处理等。这些函数适合不同场景,fgetc/fputc适合精确字符控制,fgets/

m0_53810575的博客 608
上一篇: C fopen,fseek,fprintf,feof,ftell,rewind
下一篇: fread与fwrite
ToConnection
博客等级 码龄16年 4粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值