现在的位置: 首页 > 综合 > 正文

fget(str,n,fd)和 stdin stdout

2012年09月11日 ⁄ 综合 ⁄ 共 1307字 ⁄ 字号 评论关闭

1,函数名: fgets

功 能: 从流中读取一字符串

用 法: char *fgets(char *string, int n, FILE *stream);

形参注释:*string输入数据的首地址;n-1:一次读入数据块的长度,其默认值为1k,即1024;stream文件指针

序 例:

#include <string.h>

#include <stdio.h>

int main(void)

{

FILE *stream;

char string[] = "This is a test";

char msg[20];

/* open a file for update */

stream = fopen("DUMMY.FIL", "w+");

/* write a string into the file */

fwrite(string, strlen(string), 1, stream);

/* seek to the start of the file */

fseek(stream, 0, SEEK_SET);

/* read a string from the file */

fgets(msg, strlen(string)+1, stream);

/* display the string */

printf("%s", msg);

fclose(stream);

return 0;

}

fgets函数fgets函数用来从文件中读入字符串。fgets函数的调用形式如下:fgets(str,n,fp);此处,fp是文件指针;str是
存放在字符串的起始地址;n是一个int类型变量。函数的功能是从fp所指文件中读入n-1个字符放入str为起始地址的空间内;如果在未读满n-1个字
符之时,已读到一个换行符或一个EOF(文件结束标志),则结束本次读操作,读入的字符串中最后包含读到的换行符。因此,确切地说,调用fgets函数
时,最多只能读入n-1个字符。读入结束后,系统将自动在最后加'/0',并以str作为函数值返回。

stdin

std = stand     in = input
stdin 就是标准输入设备,一般地就是键盘了

stdin是重向定义,
定义为标准输入设备(即健盘)
stdout
标准输出设备(显示器)
w+参数是,打开文件按读写的方式/

  示例:一个最简单的小程序,它的功能是从键盘输入字符,然后将其送到控制台。采用perl语言实现,你可以会这样写:
  while ($line = <STDIN>)
  {
  print $line;
  }
  简单地说,<STDIN>是一个专用的文件句柄,在本例中它属于标准输入缓存(称
为STDIN),通常是连接到键盘。每次我们将<STDIN>的值赋给变量$line时,即为将STDIN缓存中的首行取出,然后放
入$line。当到达缓存最后一行时,就会取出while语句判断条件为假的(EOF)文件结束标识符。程序的其它部分很简单可以这样解释。现在我们已经
将输入信息放入$line变量,接着我们就可以用print函数将其打印到屏幕。或者更准确地说,打印到通常连接显示器的标准输入缓存。标准输入和输出缓
存都可以重定向,例如可重定向到保存程序结果的某个文件中,如果是在处理文本,那么通常可以认为这与键盘及显示器是等价的。


抱歉!评论已关闭.