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()最大的优点是,自动截取输入的字符串,使得我们对字符串的存储是安全的

时间: 2024-10-25 23:59:00

fgets()函数以及fputs()函数的相关文章

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, &

fgets函数和fputs函数的区别

#include <stdio.h> #define MAXLINE 20 int main(void) { char line[MAXLINE]; while (fgets(line,MAXLINE,stdin)!=NULL && line[0] != '\n') fputs(line,stdout); return 0; } fgets()函数是用于存储输入的地址(char *类型).第二个参数为整型,表示输入字符串的最大长度.最后与一个参数是文件指针,指向要读取的文件 f

&lt;25&gt;【掌握】fget()、fputs()函数使用/优缺点

[掌握]fget().fputs()函数使用/优缺点 1.fgets() 该函数一个文件操作相关的函数 暂时使用这个函数可以从键盘商接收一个字符串,保存到数组中 原来接收字符串保存到数组中的方法 char str[50]; 1) scanf("%s",str); //缺点:不能接收空格 2) gets(str); //优点:可以接收空格 //会有一个警告,不安全的 //不安全:比如数组长度是50,如果我们输入的 //的长度正好是50个,此时把50个字符全部存到 //数组中,存在问题 因

php使用file函数、fseek函数读取大文件效率分析

php读取大文件可以使用file函数和fseek函数,但是二者之间效率可能存在差异,本文章向大家介绍php file函数与fseek函数实现大文件读取效率对比分析,需要的朋友可以参考一下. 1. 直接采用file函数来操作 由于 file函数是一次性将所有内容读入内存,而PHP为了防止一些写的比较糟糕的程序占用太多的内存而导致系统内存不足,使服务器出现宕机,所以默认情况下限制只能最大使用内存16M,这是通过php.ini里的 memory_limit = 16M 来进行设置,这个值如果设置-1,

PHP常用文件函数和目录函数整理

一.常用文件函数库 1.basename(); -- 返回路径中的文件名部分. string basename ( string $path [, string $suffix ] ) //给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名. 参数:path 一个路径.在 Windows 中,斜线(/)和反斜线(\)都可以用作目录分隔符.在其它环境下是斜线(/) suffix 如果文件名是以 suffix 结束的,那这一部分也会被去掉. 返回值:返回 path 的基本的文件名.

C函数篇(setsockopt函数②)

套接口选项 在前面的几章中,我们讨论了使用套接口的基础内容.现在我们要来探讨一些可用的其他的特征.在我们掌握了这一章的概念之后,我们就为后面的套接口的高级主题做好了准备.在这一章,我们将会专注于下列主题: 如何使用getsockopt(2)函数获得套接口选项值 如何使用setsockopt(2)函数设置套接口选项值 如何使用这些常用的套接口选项 得到套接口选项 有时,一个程序需要确定为当前为一个套接口进行哪些选项设置.这对于一个子程序库函数尤其如此,因为这个库函数并不知道为这个套接口进行哪些设置

async(await)函数和 Generator 函数 区别

async 函数是 Generator 函数的语法糖. async 函数对 Generator 函数的改进体现在: 1. async 内置执行器. Generator 函数的执行必须靠执行器,需要调用 next() 方法,或者用co 模块:而 async 函数自带执行器.也就是说,async 函数的执行与普通函数一模一样,只要一行. 2. 更好的语义. async 和 await 比起星号和 yield,语义更清楚. 3.更广的适用性. co 模块约定,yield 命令后面只能是 Thunk 函

Python-lambda函数,map函数,filter函数

lambda函数主要理解: lambda 参数:操作(参数). lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值.lambda语句构建的其实是一个函数对象 map函数: map(function_to_apply, list_of_inputs).map函数可以把list_of_inputs内的对象依次输入到function_to_apply中进行操作. filter函数: filter(function_to_apply, list_of_inputs).Filter

C#委托与C语言函数指针及函数指针数组

C#委托与C语言函数指针及函数指针数组 在使用C#时总会为委托而感到疑惑,但现在总新温习了一遍C语言后,才真正理解的委托. 其实委托就类似于C/C++里的函数指针,在函数传参时传递的是函数指针,在调用的时候通过指针访问这个函数. 在C语言中函数指针的申明如下: //可以理解为申明一个指着变量 Func ,它的类型是 返回Type(可以为 void )类型的参数,接收 (Type one,Type two,...)类型的//参数(可以不接受参数). Type *Func(Type one,Type