资源描述:
《linux的c编程技巧》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、linux的c编程技巧 1.获取文件的信息: stat(char*filename,structstat*buf); structstat{ dev_tst_dev;/*设备*/ ino_tst_ino;/*节点*/ mode_tst_mode;/*模式*/ nlink_tst_nlink;/*硬连接*/ uid_tst_uid;/*用户ID*/ gid_tst_gid;/*组ID*/ dev_tst_rdev;/*设备类型*/ off_tst_off;/*文件字节数*/ unsign
2、edlongst_blksize;/*块大小*/ unsignedlongst_blocks;/*块数*/ time_tst_atime;/*最后一次访问时间*/ time_tst_mtime;/*最后一次修改时间*/ time_tst_ctime;/*最后一次改变时间(指属性)*/ }; structstatfs { longf_type;/*文件系统类型*/ longf_bsize;/*块大小*/ longf_blocks;/*块多少*/ longf_bfree;/*空闲的块()*/
3、 longf_bavail;/*可用块*/ longf_files;/*总文件节点*/ longf_ffree;/*空闲文件节点*/ fsid_tf_fsid;/*文件系统id*/ longf_namelen;/*文件名的最大长度*/ longf_spare[6];/*spareforlater*/ }; 2.获取文件访问权限或者判断文件是否存在: intaccess(char*filename,intmode); 3.获取当前时间: time_tt;char*asctime(local
4、time(&t)); 或者 time(&t);char*ctime(&t); 得到的字符串形式为:WedMar1210:07:532003 4.计算两个时刻之间的时间差 doubledifftime(time_ttime2,time_ttime1); 5.删除某文件: intunlink(char*pathname); intremove(char*pathname); 6.删除某目录: intrmdir(constchar*pathname); 7.获得当前所在目录名: char*g
5、etcwd(char*buf,size_tsize);buf将会返回目前路径名称。 8.获取目录信息: DIR*opendir(constchar*pathname); intclosedir(DIR*dir); structdirent*readdir(DIR*dir); structdirent { longd_ino;/*inodenumber*/ off_td_off;/*offsettothisdirent*/ unsignedshortd_reclen;/*lengthofthi
6、sd_name*/ chard_name[NAME_MAX+1];/*filename(null-terminated)*/ }; Array.strerror(errno);函数会返回一个指定的错误号的错误信息的字符串. 10.得到当前路径下面所有的文件(包含目录)的个数 structdirent**namelist; intnum=scandir(".",&namelist,0,alphasort) 11./etc/ld.so.conf:包含共享库的搜索位置 查看执行文件调用了哪些共享库
7、 shell>ldda.out 共享库管理工具,一般在更新了共享库之后要运行该命令 shell>ldconfig 12.查看文件执行的速度 shell>time./a.out 13.改变文件访问权限 intchmod(constchar*path,mode_tmode); 14.改变文件大小 intchsize(inthandle,longsize); 15.把一个浮点数转换为字符串 charecvt(doublevalue,intndigit,int*decpt,int*sign);
8、16.检测文件结束 inteof(int*handle); 17.检测流上的文件结束符 intfeof(FILE*stream); 18.检测流上的错误 intferror(FILE*stream); 1Array.装入并运行其它程序的函数 intexecl(char*pathname,char*arg0,arg1,...,argn,NULL); intexecle(char*pat