格式化IO

/*

               格式化IO
          #include <stdio.h>
          int printf(const char *restrict format,...);
          int fprintf(FILE *restrict fp,const char *restrict format,...);
          
            两个函数返回值:若成功则返回输出字符数,若输出出错则返回负值。
          int sprintf(char* restrict buf,const char* restrict format,...);
          int snprintf(char *restrict buf,size_t n,const char* restrict format,...);
            两个函数返回值:若成功则返回存入数组的字符数,若编码出错则返回负值。
            
            printf将格式化数据写道标准输出,fprintf写至指定的流,sprintf将格式化的字符送入字符buf中,sprintf在该数组的尾端自动加一个NULL字节,但该字
            节不包括在返回值中。
            注意,sprintf函数可能会造成由buf指向的缓冲区溢出。调用者有责任确保该缓冲区足够大。为了解决这种缓冲区溢出的问题,引入了snprintf函数,在该
            函数中缓冲区长度是一个显示的参数,超过缓冲区尾端写的任何字符都会被丢弃。如果缓冲区足够大,snprintf函数就会返回写入缓冲区的字符数,与sprin
            tf相同,该返回值不包括结尾的NULL字节,若snprintf返回小于缓冲区长度n的正值,那么没有截短输出,若发生了一个编码错误,snprintf则返回负值
            格式说明控制其余参数如何编写,以后又如何显示。每个参数按照转换说明编写,转换说明以字符%开始,除转换说明外,格式字符换中的其他字符按鸳鸯,
            不经任何修改地被复制输出
              
              
                 下列4种printf族的变体类似于上面的四种,只不过将...改成了va_list.
                 #include <stdarg.h>
                 #include <stdio.h>
                 int vprintf(const char* restrict format,va_list arg);
                 int vfprintf(FILE* restrict fp,const char* retrict format,va_list arg);
                                       两个函数返回值:若成功则返回输出字符数,若输出出错则返回负值
                 int vsprintf(char* restrict buf,const char* restrict format,va_list arg);
                                       两个函数返回值:若成功则返回存入数组的字符数,若编码出错则返回负值
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                                         格式化输入
                                         
                                         
            #include <stdio.h>
            int scanf(const char *restrict format,...);
            int fscanf(FILE* restrict fp,const char* restrict format,...);
            int sscanf(const char* restrict buf,const char* restrict format,...);
                              三个函数返回值:指定的输入项数,若输入出错或在任意变换前已到达文件结尾则返回EOF
            scanf族也支持函数使用由<stdarg.h>说明的可变参数表。
            #include <stdio.h>
            #include <stdarg.h>
            int vscanf(const char *restrict format,va_list arg);
            int vfscanf(FILE* restrict fp,const char* restrict format,va_list arg);
            int vsscanf(const char *restict buf,const char *restrict format,va_list arg);
            
                              三个函数的返回值:指定输入的项数,若输入出错或在任一变换前已达到文件结尾则返回EOF
                              
                              
                              
                              
                              #include <stdio.h>
                              int fileno(FILE *fp);               返回值:与该流相关联的文件描述符。

*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值