电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

linux的c编程技巧

9页
  • 卖家[上传人]:桔****
  • 文档编号:432040328
  • 上传时间:2023-12-05
  • 文档格式:DOC
  • 文档大小:34.51KB
  • / 9 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、linux的c编程技巧1. 获取文件的信息:stat(char* filename, struct stat* buf);struct stat dev_t st_dev; /* 设备 */ino_t st_ino; /* 节点 */mode_t st_mode; /* 模式 */nlink_t st_nlink; /* 硬连接 */uid_t st_uid; /* 用户ID */gid_t st_gid; /* 组ID */dev_t st_rdev; /* 设备类型 */off_t st_off; /* 文件字节数 */unsigned long st_blksize; /* 块大小 */unsigned long st_blocks; /* 块数 */time_t st_atime; /* 最后一次访问时间 */time_t st_mtime; /* 最后一次修改时间 */time_t st_ctime; /* 最后一次改变时间(指属性) */;struct statfslong f_type; /* 文件系统类型 */long f_bsize; /* 块大小*/long f_b

      2、locks; /* 块多少*/long f_bfree; /* 空闲的块()*/long f_bavail; /* 可用块 */long f_files; /* 总文件节点 */long f_ffree; /* 空闲文件节点 */fsid_t f_fsid; /* 文件系统id */long f_namelen; /* 文件名的最大长度 */long f_spare6; /* spare for later */;2. 获取文件访问权限或者判断文件是否存在:int access(char* filename, int mode);3. 获取当前时间:time_t t;char* asctime(localtime(&t);或者time(&t);char* ctime(&t);得到的字符串形式为:Wed Mar 12 10:07:53 20034. 计算两个时刻之间的时间差double difftime(time_t time2, time_t time1);5. 删除某文件:int unlink(char* pathname);int remove(char* pathname);6.

      3、 删除某目录:int rmdir(const char* pathname);7. 获得当前所在目录名:char * getcwd(char *buf,size_t size); buf将会返回目前路径名称。8. 获取目录信息:DIR * opendir(const char * pathname);int closedir(DIR *dir);struct dirent * readdir(DIR *dir);struct direntlong d_ino; /* inode number */off_t d_off; /* offset to this dirent */unsigned short d_reclen; /* length of this d_name */char d_name NAME_MAX+1; /* file name (null-terminated) */;Array. strerror(errno);函数会返回一个指定的错误号的错误信息的字符串.10.得到当前路径下面所有的文件(包含目录)的个数struct dirent *namelist;int

      4、num = scandir(.,&namelist,0,alphasort)11./etc/ld.so.conf:包含共享库的搜索位置查看执行文件调用了哪些共享库shellldd a.out共享库管理工具,一般在更新了共享库之后要运行该命令shellldconfig12.查看文件执行的速度shelltime ./a.out13.改变文件访问权限int chmod(const char* path, mode_t mode);14.改变文件大小int chsize(int handle, long size);15.把一个浮点数转换为字符串char ecvt(double value, int ndigit, int *decpt, int *sign);16.检测文件结束int eof(int *handle);17.检测流上的文件结束符int feof(FILE *stream);18.检测流上的错误int ferror(FILE *stream);1Array.装入并运行其它程序的函数int execl(char *pathname, char *arg0, arg1, ., ar

      5、gn, NULL);int execle(char *pathname, char *arg0, arg1, ., argn, NULL,char *envp);int execlp(char *pathname, char *arg0, arg1, ., NULL);int execple(char *pathname, char *arg0, arg1, ., NULL,char *envp);int execv(char *pathname, char *argv);int execve(char *pathname, char *argv, char *envp);int execvp(char *pathname, char *argv);int execvpe(char *pathname, char *argv, char *envp);20.指数函数double exp(double x);21. struct sockaddrunsigned short sa_family; /* address family, AF_xxx */char sa_data14; /*

      6、 14 bytes of protocol address */;struct sockaddr_inshort int sin_family; /* Address family */unsigned short int sin_port; /* Port number */struct in_addr sin_addr; /* Internet address */unsigned char sin_zero8; /* Same size as struct sockaddr */;struct in_addrunsigned long s_addr;s_addr按照网络字节顺序存储IP地址sin_zero是为了让sockaddr与sockaddr_in两个数据结构保持大小相同而保留的空字节。使用的例子:struct sockaddr_in sa;sa.sin_family = AF_INET;sa.sin_port = htons(34Array0);sa.sin_addr.s_addr = inet_addr(132.241.5.10);bzero(&(sa.sin_zero)

      7、, 8);注意:如果sa.sin_addr.s_addr INADDR_ANY,则不指定IP地址(用于Server程序)22. #define UNIX_PATH_MAX 108struct sockaddr_unsa_family_t sun_family; /* AF_UNIX */char sun_pathUNIX_PATH_MAX; /* 路径名 */;23. IP地址转换函数:unsigned long inet_addr (const char *cp);inet_addr将一个点分十进制IP地址字符串转换成32位数字表示的IP地址(网络字节顺序)char* inet_ntoa (struct in_addr in);inet_ntoa将一个32位数字表示的IP地址转换成点分十进制IP地址字符串。这两个函数互为反函数字节顺序转换:htons()-Host to Network Shorthtonl()-Host to Network Longntohs()-Network to Host Shortntohl()-Network to Host Long24. 获取当前机器的CPU、内存使用情况getrusage25. open的使用中常用的flag和mode参数int FILE_FLAG = O_WRONLY|O_APPEND|O_CREAT; int FILE_MODE = S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH; 26. makefile中常用的符号:预定义变量 含义$* 不包含扩展名的目标文件名称。$ 目标的完整名称$% 如果目标是归档成员,则该变量表示目标的归档成员名称。例如,如果目标名称为 mytarget.so(image.o),则 $ 为 mytarget.so,而 $% 为 image.o。$+ 所有的依赖文件,以空格分开,并以出现的先后为序,可能包含重复的依赖文件。$ 第一个依赖文件的名称。$? 所有的依赖文件,以空格分开,这些依赖文件的修改日期比目标的创建日期晚$ 所有的依赖文件,以空格分开,不包含重复的依赖文件。AR 归档维护程序的名称,默认值为 ar。ARFLAGS 归档维护程序的选项。AS 汇编程序的名称,默认值为 as。ASFLAGS 汇编程序的选项。CC C 编译器的名称,默认

      《linux的c编程技巧》由会员桔****分享,可在线阅读,更多相关《linux的c编程技巧》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.