今天遇到一个看似非常简单的问题
下面一段很简单的代码
#include<stdio.h>
#include<stdlib.h>
#include <unistd.h>
int main()
{
int fd1=0;
int fd2=1;
int fd3=2;
char buf[5];
int temp=0;
temp=read(fd1,buf,4);
printf("%s",buf);
return 0;
}
在WINDOWS下编译运行没有任何问题,在64位linux下编译后运行时出现两个奇怪的情况。
1.当read函数的第一个参数无论是0、1、2的情况下,运行时都为标准输入流,与WIN不同。
2.当程序运行时输入一个字符时发生如下状况。
如果下次有时间深入研究一下,因为本人比较菜,如果有大佬知道原因希望可以不吝赐教。