您的位置:首页 > 编程语言 > PHP开发

什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI

2013-08-27 10:42 656 查看

一.前言

1.行I/O可以用两种方式执行―未格式化的或格式化的。这两种形式都用于操作字符串。2.未格式化的I/O:简单读取或写入字符串,而格式化的I/O则执行数字和其他变量的内部和外部表示形式之间的转换。

二.未格式化I/O

1.未格式化I/O函数声明1>char *fgets(char *buffer,int buffer_size,FILE *stream);2>char *gets(char *buffer);3>int fputs(char const *buffer,FILE *stream);4>int puts(char const *buffer);1.gets和puts函数家族是用于操作字符串而不是单个字符。2.fgets从指定的stream读取字符并把它们复制到buffer中。当它读取一个换行符并存储到缓冲区之后就不再读取。如果缓冲区内存储字符数到达buffer_size-1时它也停止读取。1>在任何一种情况下,一个NUL字节将被添加到缓冲区所存储数据的末尾,使它成为一个字符串。2>如果在任何字符读取前就到达了文件尾,缓冲区就未进行修改,fgets函数返回一个NULL指针。否则fgets返回它的第一个参数(指向缓冲区的指针)。这个返回值通常只用于检查是否到达了文件尾。3.传递给fputs的缓冲区必须包含一个字符串,它的字符被写入到流中。这个字符串以NUL字节结尾,所以这个函数没有一个缓冲区长度参数。这个字符串是逐字写入的:如果它不包含一个换行符,就不会写如换行符。如果它包含了好几个换行符,所有的换行符都会被写入。因此,当fgets每次都读取一整行时,fputs既可以一次写如一行的一部分,也可以一次写入一整行,甚至可以一次写入好几行。如果写入时出现了错误,fputs返回常量值EOF,否则它将返回一个非负值。4.gets和puts函数几乎和fgets 与fputs相同。他们之间的一个主要区别是:1>当gets读取一行输入时,它并不在缓冲区中存储结尾的换行符。当puts写入一个字符串时,它在字符串写入之后向输出再添加一个换行符。2>另一个区别仅仅在于gets,它没有缓冲区长度参数。因此gets无法判断缓冲区的长度。本文出自 “嵌入式开发乐园” 博客,请务必保留此出处http://tigerjibo.blog.51cto.com/7718010/1276048
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: