2014年11月4日19:38:01
个人总结第一篇:
个人总结第一篇:
#include <stdio.h>
#include <string.h>
int main()
{
int len;
char buffer[1024];
bzero(buffer,sizeof(buffer));
printf("Please input words\n");
//scanf("%s",buffer); // 阻塞,不读‘\n’,‘\n’会放在缓冲区,如果下一次直接调用fgets会出错。
//gets(buffer); // 阻塞,'\n' 转为'\0'存在buffer中
//read(stdin,buffer,10);//从终端读10个字节(测试中并没有阻塞终端)
fgets(buffer,10,stdin);//阻塞终端,读到了'\n',加'\0'返回。读到9个字节也返回,第10个字节存放'\0'。读到文件末尾也返回。可用feof检测是否读到文件末尾
//fread(buffer,10,1,stdin);//阻塞终端,只有读到10个字节才返回,否则阻塞等待。把'\n'当作一个字节来读
len = strlen(buffer);
printf("%s\n",buffer);
printf("Len:%d\n",len);
printf("Test end\n");
return 0;
}
scanf,gets两个函数慎用!