C语言代码段分享

简介: C语言代码段

复制代码
/* 功 能:将str字符串中的oldstr字符串替换为newstr字符串

  • 参 数:str:操作目标 oldstr:被替换者 newstr:替换者
  • 返回值:返回替换之后的字符串
    /
    char
    strrpc(char str,char oldstr,char *newstr){
    char bstr[strlen(str)];//转换缓冲区
    memset(bstr,0,sizeof(bstr));
    for(int i = 0;i < strlen(str);i++){

     if(!strncmp(str+i,oldstr,strlen(oldstr))){//查找目标字符串
         strcat(bstr,newstr);
         i += strlen(oldstr) - 1;
     }else{
         strncat(bstr,str + i,1);//保存一字节进缓冲区
     }
    

    }

    strcpy(str,bstr);
    return str;
    }
    //代码效果参考:http://www.zidongmutanji.com/zsjx/161859.html

// -----------------------------------------------------------------
// 函数功能: 字节数组转字符串类型
// 函数名称: hexbyte_to_hex_str
// 参数1 : src 源字符串
// 参数2 : obj 目标字节数组
// 说明 : {0x01,0x03,0x03,x04} --> "01020304"
// 返回值 : 1 成功
static int hexbyte_to_hex_str (char src, char obj, uint16_t length)
{
for (int i = 0; i < length; i++)
{
sprintf (obj, "%02X", src[i]);
obj += 2;
return 1;
// 函数功能: hex字符串转byte数组
// 说明 : "01020304" --> {0x01,0x03,0x03,x04} 或 "01 02 03 04"->{0x01,0x03,0x03,x04}
static int hexstr_to_hexbyte (char src, char obj, uint16_t length)
char h1, h2;
uint8_t s1, s2;
int i;
for (i = 0; i < length; i++)
h1 = src[2 i];
h2 = src[2
i + 1];
s1 = toupper (h1) - 0x30;
if (s1 > 9)
s1 -= 7;
s2 = toupper (h2) - 0x30;
if (s2 > 9)
s2 -= 7;
obj[i] = s1 * 16 + s2;
// 函数封装
TypeFunc_t TypeFunc =
hexbyte_to_hex_str, //HexToStr
hexstr_to_hexbyte, //StrToHex
};
// char类型转化成int类型
char a = '9';
int b;
b = a - '0'; //b = 9
// int类型转化成char类型
int a = 9;
char b;
b = a + '0'; //b = '9'
C语言中单引号和双引号的区别
1、含义不同用 单引号引起的一个字符实际上代表一个 整数,整数值对应于该字符在编译器采用的字符集中的序列值。而一般我们的编译器采用的都是 ASCII字符集。因此's'的含义其实和十进制数115的含义是一致的。
而用 双引号引起的字符串,代表的是一个指向无名数组起始字符的 指针。
2、大小不同用 单引号引起的一个字符大小就是 一个字节。
而用 双引号引起的字符串大小是 字符的总大小+1,因为用双引号引起的字符串会在字符串末尾添加一个二进制为0的字符'\0'。

相关文章
|
关系型数据库 BI 分布式数据库
PolarDB NL2BI解决方案,让你不懂SQL也能进行数据查询分析并生成BI报表
无需创建和开通资源,在预置环境中免费体验PolarDB MySQL及其NL2BI解决方案
PolarDB NL2BI解决方案,让你不懂SQL也能进行数据查询分析并生成BI报表
|
存储 应用服务中间件 测试技术
Elasticsearch Data Stream 数据流使用
Elasticsearch Data Stream 数据流使用
308 0
|
数据采集 存储 Java
Anaconda安装使用以及Pycharm教程
Anaconda环境基本使用以及与Pycharm集成
2326 0
Anaconda安装使用以及Pycharm教程
|
7月前
|
机器学习/深度学习 人工智能 运维
即刻拥有DeepSeek-R1满血版:开启云端算力新时代,赋能企业无限可能
DeepSeek-R1满血版云服务器,搭载最新Intel/AMD处理器和NVIDIA顶级GPU,算力提升300%,支持AI训练、大数据分析等高负载任务。具备弹性扩展、按需付费、99.99%高可用性及全方位安全防护,适用于AI、游戏、金融、电商、科研等场景,助力企业轻松驾驭数字化未来。新用户享首单5折、免费试用7天等优惠。立即注册,体验极致性能!
249 11
|
存储 算法
N-S流程图中“从上到下”的含义
N-S流程图中“从上到下”的含义
336 3
|
7月前
|
存储 关系型数据库 MySQL
Flink基于Paimon的实时湖仓解决方案的演进
Flink基于Paimon的实时湖仓解决方案的演进
218 0
|
存储 数据采集 IDE
利用ESP32-C3将TF卡内容变成U盘进行读取
ESP32-C3是一款高性价比的微控制器,具备WiFi和蓝牙功能,广泛应用于物联网(IoT)项目中。除了常见的无线通信功能外,ESP32-C3还可以用来模拟U盘读取TF卡内容。本文将介绍如何通过ESP32-C3实现这一功能,让你的设备像U盘一样读取TF卡里的数据。
1165 1
|
存储 安全 程序员
C语言内存四区详解
C语言内存四区详解
773 0
|
消息中间件 XML Java
Java中的消息处理机制:深入解析与实践
Java中的消息处理机制:深入解析与实践
334 0
设置虚拟内存
设置虚拟内存
299 1