zoukankan      html  css  js  c++  java
  • 输入输出函数读写细节

    红心字符I/O

    int fgetc( FILE *stream );
    int getc( FILE *stream );
    int getchar( void );

    fgetc、getc和getchar:从流中读取下一个字符并返回(getchar总是从标准输入中读);如果流中没有可读的字符那么返回EOF

    int fputc( int character, FILE *stream );
    int putc( int character, FILE *stream );
    int putchar( int character );

    fputc、putc和puchar:把单个字符写到指定的流中(putchar总是写到标准输出);无论何种原因,失败时均返回EOF

    红心非格式化行I/O

    char * fgets( char *buffer, int buffer_size, FILE *stream );
    char *gets( char *buffer );
    
    int fputs( char const *buffer, FILE *stream );
    int puts( char const *buffer );

    fgets从指定流中读取字符并保存到buffer中,直到出现下列两种情况时fgets才停止读取:(1)读到了换行符(newline)并将换行符存入buffer中;(2)读取了buffer_size – 1 个字符。这两种情况下都会在buffer最后加一个NUL字符从而构成一个字符串。(注:对于情况(1)是在换行符newline之后添加NUL字符,并不会覆盖掉换行符。) 如果返回NULL说明读到了文件末尾。否则返回一个指向buffer的指针。

    注:NUL不在strlen计数范围内,而换行符newline在strlen的计数范围之内。

    gets从标准输入读取一行(也就是说gets一直读到换行符为止,不管buffer能不能装得下,这也正是gets的缺陷所在,因此不推荐使用该函数),但它不把结尾的换行符newline保存到buffer中。

    fputs:传递给fputs的buffer参数必须包含一个以NUL结尾的字符串,fputs将该字符串写到指定的流中,字符串中有几个换行符就写几个换行符,没有就一个也不写。

    puts:把字符串写到标准输出,字符串中有几个换行符就写几个换行符,并且在写完后,它还会额外添加一个换行符到标准输出。

  • 相关阅读:
    如何设置SQL Server 全文搜索
    怎么样充分运用ASP.NET 2.0预编译
    怎么样用CSC.exe来编译Visual C#地代码文件
    ASP.NET设计中的性能优化问题
    给Repeater、Datalist和Datagrid增加自动编号列
    ASP.net的RUL重写
    正则表达式学习日记
    SQLCLR(三)触发器
    几个用常用的jscript验证
    Asp.net性能优化总结(二)
  • 原文地址:https://www.cnblogs.com/nufangrensheng/p/3610510.html
Copyright © 2011-2022 走看看