郁闷的问题
前段面试突然被问到open\fopen\popen有什么相同点和不同点。   
 突然发现自己根本没注意过,无语呀。
------解决方案--------------------http://community.csdn.net/expert/topicview1.asp?id=4977446
------解决方案--------------------fopen\open, 
 open:直接操作物理设备,比如磁盘、设备文件 
 fopen:则通过缓冲区来操作,读写都在缓冲区上 
 一般设备/设备文件都通过open来操作   
 popen:会调用fork()产生子进程,然后从子进程中调用/bin/sh -c来执行参数command的指令 
 依照popen参数中的type值建立管道连接到子进程的输入/输出设备中,通过返回的指针对子进程 
 的输入、输出设备进行操作。
------解决方案--------------------  hearterlaker(梦归何处)    
 fopen\open, 
 open:直接操作物理设备,比如磁盘、设备文件 
 fopen:则通过缓冲区来操作,读写都在缓冲区上 
 一般设备/设备文件都通过open来操作   
 =======   
 nod 
 APUE也是这么说的
------解决方案--------------------open实际上系统调用. 
 fopen是标准C 
 popen 是POSIX.2定义的.用来执行其他程序的,类似与system.或exec.区别在与他返回一个文件指针,这样就可以通过该文件指针来读取程序的返回值。