fgets()函数以及fputs()函数
fgets()
fgets()
该函数是一个文件操作相关的函数
暂时使用这个函数可以从键盘接收一个字符串,保存到字符数组中
原来接收字符串保存到数组中的方法:
char str[50];
1) scanf("%s",str); //缺点:不能接收空格
2)gets(str); //优点:可以接收空格
//缺点:会有一个不安全的警告
fgets()是一个安全的字符串接收的函数
char ch[5];//如果使用fgets,此时数组中最多存放4个可见字符
//会自动的把数组的最后一个元素存放\0
fgets()使用格式:
fgets(数组名,数组长度,stdin);
例如:
char ch[5]
//fgets从输入缓冲区读取一个字符串保存到字符数组中
//当输入的字符串的长度大于数组的长度,此时fgets会自动的
//把数组的最后一个元素变成\0
//当输入的字符串的长度小于数组长度的时候,fgets还会接收回车
fgets(ch,sizeof(ch),stdin);
//去掉多余的\n
if(ch[strlen(ch)-1]=='\n')ch[strlen(ch)-1]='\0';
fputs()
fputs();
也是一个文件操作相关的函数
格式:
fputs(数组名,stdout); 例如:
fputs(ch,stdout);
fputs是不会自动换行
fputs也不能进行格式化的输出
fgets() 和 fputs()最大的优点是,自动截取输入的字符串,使得我们对字符串的存储是安全的
fgets()函数以及fputs()函数的更多相关文章
- C语言字符串输入输出函数(gets()函数、puts()函数、fgets()函数、fputs()函数)
scanf("%s", str) 不能读取空白字符,遇到第一个空白字符就停止读取. gets(str) 读取整行输入,直至遇到换行符,丢弃换行符储存其余字符,并在末尾添加 \0.与 ...
- Linux Linux下特殊的printf函数和fputs函数
Linux下,printf函数必须以'\n'结尾才会立刻输出到屏幕,如果没有'\n'直到输出缓冲区满了以后才会打印到屏幕上(敲击换行也算),如果需要不换行的输出,一般可以使用write函数代替.'\n ...
- c++ 网络编程(七) LINUX下 socket编程 基于套接字的标准I/O函数使用 与 fopen,feof,fgets,fputs函数用法
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/9614820.html 一.标准I/O 1,什么是标准I/O?其实是指C语言里的文件操作函数,如 ...
- fgets()函数和sscanf()函数的使用方法
fgets 百度百科:从文件结构体指针stream中读取数据,每次读取一行.读取的数据保存在buf指向的字符数组中.每次最多读取bufsize-1个字符(第bufsize个字符赋'\0'),假设文件里 ...
- PHP fputs() 函数
定义和用法 fputs() 函数将内容写入一个打开的文件中. 函数会在到达指定长度或读到文件末尾(EOF)时(以先到者为准),停止运行. 如果函数成功执行,则返回写入的字节数.如果失败,则返回 FAL ...
- UNIX网络编程——利用recv和readn函数实现readline函数
在前面的文章中,我们为了避免粘包问题,实现了一个readn函数读取固定字节的数据.如果应用层协议的各字段长度固定,用readn来读是非常方便的.例如设计一种客户端上传文件的协议,规定前12字节表示文件 ...
- 利用recv和readn函数实现readline函数
在前面的文章中,我们为了避免粘包问题,实现了一个readn函数读取固定字节的数据.如果应用层协议的各字段长度固定,用readn来读是非常方便 的.例如设计一种客户端上传文件的协议,规定前12字节表示文 ...
- PHP Filesystem 函数(文件系统函数)(每日一课的内容可以从php参考手册上面来)
PHP Filesystem 函数(文件系统函数)(每日一课的内容可以从php参考手册上面来) 一.总结 1.文件路径中的正反斜杠:当在 Unix 平台上规定路径时,正斜杠 (/) 用作目录分隔符.而 ...
- php使用file函数、fseek函数读取大文件效率分析
php读取大文件可以使用file函数和fseek函数,但是二者之间效率可能存在差异,本文章向大家介绍php file函数与fseek函数实现大文件读取效率对比分析,需要的朋友可以参考一下. 1. 直接 ...
随机推荐
- SUSE linux 使用LVM安装系统和管理
引出 在我们安装好linux系统后会发现在需要修改磁盘分区的时候会比较困难,系统安装的/目录的文件系统要更改基本不太可能,其他目录如/home目录也比较困难.但是系统安装时要是采用的LVM管理的方式安 ...
- Unity3D动态读取外部MP3文件给AudioSource
在PC端VR游戏开发中,需要动态加载本地的MP3文件,但是Unity3D不知道出于什么原因,到5.4.0也不支持MP3文件的外部加载(目前只支持wav和ogg). 因此要想通过www来加载mp3文件就 ...
- ng自定义一个过滤器
ng允许我们自定义指令 下面来我们自己来定义一个过滤指令:filter,返回一个函数的形式 filter(name,callback(){//name:过滤器的名字,callback:匿名函数 ret ...
- BroadcastReceiver简单应用实例
BroadcastReceiver是android四大组件之一,主要用于接收广播,它的简单实现方法如下: 1.定义继承BroadcastReceiver的MyReceiver类: /** * Crea ...
- SpringMVC基础学习(三)—参数绑定
一.基本数据类型的绑定 页面 <form action="${pageContext.request.contextPath}/test.do" method="p ...
- 怎样配置mysql_installer_community_V5.6........_setup的数据库?
直接访问查看如下路径就可以根据方法匹配 http://jingyan.baidu.com/album/c35dbcb0f1b1448916fcbcc7.html
- 【学而思】利用shouldComponentUpdate钩子函数优化react性能以及引入immutable库的必要性
凡是参阅过react官方英文文档的童鞋大体上都能知道对于一个组件来说,其state的改变(调用this.setState()方法)以及从父组件接受的props发生变化时,会导致组件重渲染,正所谓&qu ...
- ios 网络/本地播放器
推荐播放器: LRLAVPlayer相对易懂好修改,调整添加内容. https://github.com/codeWorm2015/videoPlayer NSString*path=[[NSBund ...
- MapReduce处理流程
MapReduce是Hadoop2.x的一个计算框架,利用分治的思想,将一个计算量很大的作业分给很多个任务,每个任务完成其中的一小部分,然后再将结果合并到一起.将任务分开处理的过程为map阶段,将每个 ...
- 关于Git增、删、改源地址问题
在上篇博客中我们了解了Git的基本使用,如果你已经建立了一个远程代码库,并且遇到了远程代码库源地址修改的问题,那么这篇博客可能会帮到你. 1.如何查看当前远程Git库源地址呢? $git remote ...