linuxÏÂopen()Óëfopen()
fopen£¨´ò¿ªÎļþ£©
Ïà¹Øº¯Êý
open£¬fclose
±íÍ·Îļþ
#include<stdio.h>
¶¨Ò庯Êý
FILE * fopen(const char * path,const char * mode);
º¯Êý˵Ã÷
²ÎÊýpath×Ö·û´®°üº¬Óû´ò¿ªµÄÎļþ·¾¶¼°ÎļþÃû£¬²ÎÊýmode×Ö·û´®Ôò´ú±í×ÅÁ÷ÐÎ̬¡£
modeÓÐÏÂÁм¸ÖÖÐÎ̬×Ö·û´®:
r ´ò¿ªÖ»¶ÁÎļþ£¬¸ÃÎļþ±ØÐë´æÔÚ¡£
r+ ´ò¿ª¿É¶ÁдµÄÎļþ£¬¸ÃÎļþ±ØÐë´æÔÚ¡£
w ´ò¿ªÖ»Ð´Îļþ£¬ÈôÎļþ´æÔÚÔòÎļþ³¤¶ÈÇåΪ0£¬¼´¸ÃÎļþÄÚÈÝ»áÏûʧ¡£ÈôÎļþ²»´æÔÚÔò½¨Á¢¸ÃÎļþ¡£
w+ ´ò¿ª¿É¶ÁдÎļþ£¬ÈôÎļþ´æÔÚÔòÎļþ³¤¶ÈÇåΪÁ㣬¼´¸ÃÎļþÄÚÈÝ»áÏûʧ¡£ÈôÎļþ²»´æÔÚÔò½¨Á¢¸ÃÎļþ¡£
a ÒÔ¸½¼ÓµÄ·½Ê½´ò¿ªÖ»Ð´Îļþ¡£ÈôÎļþ²»´æÔÚ£¬Ôò»á½¨Á¢¸ÃÎļþ£¬Èç¹ûÎļþ´æÔÚ£¬Ð´ÈëµÄÊý¾Ý»á±»¼Óµ½Îļþ⣬¼´ÎļþÔÏȵÄÄÚÈݻᱻ±£Áô¡£
a+ ÒÔ¸½¼Ó·½Ê½´ò¿ª¿É¶ÁдµÄÎļþ¡£ÈôÎļþ²»´æÔÚ£¬Ôò»á½¨Á¢¸ÃÎļþ£¬Èç¹ûÎļþ´æÔÚ£¬Ð´ÈëµÄÊý¾Ý»á±»¼Óµ½Îļþβºó£¬¼´ÎļþÔÏȵÄÄÚÈݻᱻ±£Áô¡£
ÉÏ
ÊöµÄÐÎ̬×Ö·û´®¶¼¿ÉÒÔÔÙ¼ÓÒ»¸öb×Ö·û£¬Èçrb¡¢w+b»òab£«µÈ×éºÏ£¬¼ÓÈëb
×Ö·ûÓÃÀ´¸æËߺ¯Êý¿â´ò¿ªµÄÎļþΪ¶þ½øÖÆÎļþ£¬¶ø·Ç´¿ÎÄ×ÖÎļþ¡£²»¹ýÔÚPOSIXϵͳ£¬°üº¬Linux¶¼»áºöÂÔ¸Ã×Ö·û¡£ÓÉfopen()Ëù½¨Á¢µÄÐÂÎļþ»á¾ß
ÓÐS_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH(0666)ȨÏÞ£¬´ËÎļþȨÏÞÒ²»á²Î¿¼umask
Öµ¡£
·µ»ØÖµ
Îļþ˳Àû´ò¿ªºó£¬Ö¸Ïò¸ÃÁ÷µÄÎļþÖ¸Õë¾Í»á±»·µ»Ø¡£Èô¹ûÎļþ´ò¿ªÊ§°ÜÔò·µ»ØNULL£¬²¢°Ñ´íÎó´úÂë´æÔÚerrno ÖС£
¸½¼Ó˵Ã÷
Ò»°ã¶øÑÔ£¬¿ªÎļþºó»á×÷һЩÎļþ¶ÁÈ¡»òдÈëµÄ¶¯×÷£¬Èô¿ªÎļþʧ°Ü£¬½ÓÏÂÀ´µÄ¶Áд¶¯×÷Ò²ÎÞ·¨Ë³Àû½øÐУ¬ËùÒÔÔÚfopen()ºóÇë×÷´íÎóÅжϼ°´¦Àí¡£
·¶Àý
#include<stdio.h>
main()
{
FILE * fp;
fp=fopen(“noexist”,”a+”);
if(fp= =NULL) return;
fclose(fp);
}
open£¨´ò¿ªÎļþ£©
Ïà¹Øº¯Êý
read£¬write£¬fcntl£¬close£¬link£¬stat£¬umask£¬unlink£¬fopen
±íÍ·Îļþ
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
¶¨Ò庯Êý
int open( const char * pathname, int flags);
int open( const char * pathname,int flags, mode_t mode);
º¯Êý˵Ã÷
²ÎÊýpathname Ö¸ÏòÓû´ò¿ªµÄÎļþ·¾¶×Ö·û´®¡£ÏÂÁÐÊDzÎÊý
Ïà¹ØÎĵµ£º
slab·ÖÅäÆ÷ÐÎÏóµØËµ¾ÍÊÇÏÈÓÉ»ï°é»úÖÆÉêÇë¿ÕÏÐÄÚ´æ¿Õ¼ä£¬È»ºóslab·ÖÅäÆ÷ÔÙ°ÑÕâ¸öÄÚ´æ¿Õ¼ä½øÐзָ°´Í¬Ñù´óСÀ´½øÐзָ×îºóÔÙÓÃһЩÊý¾Ý½á¹¹À´½øÐйÜÀí¡£ÉÏÃæÖ»ÊÇÐÎÏóµØËµ·¨¡£ÎÒÃÇÆ½Ê±°ÑÓÉslab½øÐзָîºóµÄÄÚ´æÎÒÃdzÆÖ®Îª¸ßËÙ»º´æÄÚ´æ¡£ÕâÑù¿´À´¾ÍÖªµÀËùνµÄ¸ßËÙ¾ÍÊÇ˵²»ÊÇÿ´Î·ÖÅäºÍÊÍ·ÅÄÚ´æ¶¼ÒªÕÒ»ï°é»úÖÆ£¬¿ÉÒ ......
Ï̳߳أº¼òµ¥µØËµ£¬Ïß³Ì³Ø ¾ÍÊÇÔ¤ÏÈ´´½¨ºÃÒ»ÅúỊ̈߳¬·½±ã¡¢¿ìËٵش¦ÀíÊÕµ½µÄÒµÎñ¡£±ÈÆð´«Í³µÄµ½À´Ò»¸öÈÎÎñ£¬¼´Ê±´´½¨Ò»¸öÏß³ÌÀ´´¦Àí£¬½ÚÊ¡ÁËÏ̵߳Ĵ´½¨ºÍ»ØÊյĿªÏú£¬ÏìÓ¦¸ü¿ì£¬Ð§Âʸü¸ß¡£
ÔÚlinuxÖУ¬Ê¹ÓõÄÊÇposixÏ߳̿⣬Ê×ÏȽéÉܼ¸¸ö³£Óõĺ¯Êý£º
1 Ï̵߳Ĵ´½¨ºÍÈ¡Ïûº¯Êý
pthread_create
´´½¨Ïß³Ì
pthread_join
º ......
ǰ¼¸Ìì°ÑϵͳµÄrootÃÜÂë¸øÍüÁË£¬²»ÖªµÀÔõô½â¾ö£¬µ½ÍøÉÏËÑÁ˸ö½â¾ö°ì·¨£¬Óë´ó¼Ò¹²Ïí¡£
ÔÚ³öÏÖϵͳѡÔñ½çÃæÊ±£¬ÔÚRed Hat LinuxµÄÑ¡ÏîÉϰ´“e”¼ü£¬È»ºó»á³öÏÖÈý¸öÑ¡ÏÔÚµÚ¶þÏîÀàËÆ“ kernel /vmlinuz-2.4.20-8 ro root=LABEL=/”Éϰ´“e”¼ü½øÐб༣¬ÔÚ“ro”»òÕß&l ......
SBC2440Ñз¢°åϵÄLINUXµÄ°²×°
±¾ÎļþÊǶԓSBC2440ϵͳ°²×°ºÍ¸üÐÂÖ¸ÄÏ.pdf£¨ÔÚÑз¢°å¸½Ë͵ĹâÅÌϾÍÄÜÕÒµ½£©”µÄ²¹³ä˵Ã÷£¨ºìÉ«×ÖÌ岿·Ö£©¡£
Ê×ÏȽøÈëVIVIģʽ£º·½·¨ÊÇÏÈ´ò¿ªWINDOWSϵÄÖÕ¼«ÖÕ¶Ë£¬ÉèÖúø÷ÖÖ²ÎÊý£¨¾ßÌåÉèÖüû“SBC2440Ö®³õÌåÑé.pdf£¨ÔÚÑз¢°å¸½Ë͵ĹâÅÌϾÍÄÜÕÒµ½£©”£¬Ê¹COM1´¦ÔÚ× ......