read()函数定义如下
ssize_t read(int fd,void *buf,size_t nbyte)
read函数是负责从fd中读取**最多**nbytes个字节到buf,在读取数据时会将最后的回车(\n)同时读入到buf中,但是 不会在后面加上字符串结束符(\0)。成功时,read返回实际所读的字节数,如果返回的值是0,表示已经读到文件的结束了.若返回负值(通常为-1)表示发生了错误。;
#include <stdio.h>
#include <unistd.h>
int main()
{
char a[100];
int n = 0;
while((n = read(fileno(stdin),a,sizeof(a))) > 0)
{
printf("%s\r\n",a);
}
return 0;
}
输入 123时,结果如下
a={1,2,3,\n,...}
fgets()函数定义如下
char * fgets ( char * str, int num, FILE * stream )
fgets负责从stream(通常是文件或者标准输入stdin)中读取num个字符到str中,在读取数据时会将最后的回车(\n)同时读入到buf中,并且会在后面加上字符串结束符(\0)。成功返回非空指针,失败返回空指针
#include <stdio.h>
#include <unistd.h>
int main()
{
char a[100];
int n = 0;
while((fgets (a,sizeof(a))) > 0)
{
printf("%s\r\n",a);
}
return 0;
}
输入 123时,结果如下
a={1,2,3, \n,\0 ,...}