c tool系列------c语言编程常用语句

2024-09-04 01:32

本文主要是介绍c tool系列------c语言编程常用语句,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

针对main函数的argc,argv


for (i = 1; i < argc ;) {if (0 == strcmp(argv[i], "-m") && (argc - i > 1)) {tty_modem = argv[i + 1];i += 2;} else if (0 == strcmp(argv[i], "-p") && (argc - i > 1)) {tty_pc = argv[i + 1];i += 2;} else if (0 == strcmp(argv[i], "-d") && (argc - i > 1)) {i += 2;} else if (0 == strcmp(argv[i], "-f") && (argc - i > 1)) {modem_config_file = argv[i + 1];i += 2;} else if (0 == strcmp(argv[i], "-t") && (argc - i > 1)) {tunnel_switch = argv[i + 1];if (0 == strncmp(tunnel_switch, "on", 2)) {tunnel_mode = 1;}i += 2;}}

使用poll函数

#define AT_CMD_OK 0
#define AT_CMD_REOPEN 1
#define AT_CMD_RESEND 2result = wait_for_data (fd, 3000 );if (result == AT_CMD_OK ) {if (read(fd, buf, buf_size-1) < 0) {LOGE(TAG"Read response from %s error, error num is %d\n", tty_name, errno);return -1;}} else if (result == AT_CMD_RESEND) {poll_cnt++;LOGD(TAG"Wait %s result, poll %s failed %d times\n", at_cmd, tty_name, poll_cnt);sleep(2);if (poll_cnt >= POLL_RETRY_MAX)return -1;} else {LOGD(TAG"Wait %s result, poll %s failed and need reopen.\n", at_cmd, tty_name);modem_hangup_flag = 1;return -1;}
int wait_for_data( int fd, long wait_time_ms)
{struct pollfd fds[1];int poll_ret;int retVal = AT_CMD_OK;fds[0].fd = fd;fds[0].events = POLLIN;fds[0].revents = 0;poll_ret = poll( fds, 1, wait_time_ms);if ( 0 < poll_ret ) {if ( fds[0].revents & POLLHUP ) {LOGE(TAG"device hung up\n");retVal = AT_CMD_REOPEN;goto Exit_Handler;} else if ( fds[0].revents & POLLIN ) {LOGV(TAG"Received response data\n");} else {/* Not sure we will ever get here */LOGE(TAG"Unexpected event while waiting for response\n");retVal = AT_CMD_RESEND;goto Exit_Handler;}} else if ( 0 == poll_ret ) {LOGE(TAG"Timed out while waiting for response\n");retVal = AT_CMD_RESEND;goto Exit_Handler;} else {LOGE(TAG"Error occured polling for response.  errno: %d\n", errno);retVal = AT_CMD_RESEND;goto Exit_Handler;}retVal = AT_CMD_OK;Exit_Handler:return retVal;
}

关闭文件操作

static void fdclose()
{if (md_fd != -1) {close(md_fd);md_fd = -1;}if (pc_fd != -1) {/* Add errno trace in case that "unable write usb value" problem of BZ4161 is reproduced.*/if (close(pc_fd) < 0) {LOGE("close(pc_fd:%d) failed, error: %d, %s\n", pc_fd, errno, strerror(errno));}pc_fd = -1;}
}



这篇关于c tool系列------c语言编程常用语句的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1134615

相关文章

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的

python常用的正则表达式及作用

《python常用的正则表达式及作用》正则表达式是处理字符串的强大工具,Python通过re模块提供正则表达式支持,本文给大家介绍python常用的正则表达式及作用详解,感兴趣的朋友跟随小编一起看看吧... 目录python常用正则表达式及作用基本匹配模式常用正则表达式示例常用量词边界匹配分组和捕获常用re

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

Mysql常见的SQL语句格式及实用技巧

《Mysql常见的SQL语句格式及实用技巧》本文系统梳理MySQL常见SQL语句格式,涵盖数据库与表的创建、删除、修改、查询操作,以及记录增删改查和多表关联等高级查询,同时提供索引优化、事务处理、临时... 目录一、常用语法汇总二、示例1.数据库操作2.表操作3.记录操作 4.高级查询三、实用技巧一、常用语

XML重复查询一条Sql语句的解决方法

《XML重复查询一条Sql语句的解决方法》文章分析了XML重复查询与日志失效问题,指出因DTO缺少@Data注解导致日志无法格式化、空指针风险及参数穿透,进而引发性能灾难,解决方案为在Controll... 目录一、核心问题:从SQL重复执行到日志失效二、根因剖析:DTO断裂引发的级联故障三、解决方案:修复

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

SQL BETWEEN 语句的基本用法详解

《SQLBETWEEN语句的基本用法详解》SQLBETWEEN语句是一个用于在SQL查询中指定查询条件的重要工具,它允许用户指定一个范围,用于筛选符合特定条件的记录,本文将详细介绍BETWEEN语... 目录概述BETWEEN 语句的基本用法BETWEEN 语句的示例示例 1:查询年龄在 20 到 30 岁

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用