博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言拼接字符串以及进制转换
阅读量:5927 次
发布时间:2019-06-19

本文共 1749 字,大约阅读时间需要 5 分钟。

#include
#include
#include
char *join1(char *, char*); void join2(char *, char *); char *join3(char *, char*); int main(void) { char a[4] = "abc"; // char *a = "abc" char b[4] = "def"; // char *b = "def" char *c = join3(a, b); printf("Concatenated String is %s\n", c); free(c); c = NULL; return 0; } /*方法一,不改变字符串a,b, 通过malloc,生成第三个字符串c, 返回局部指针变量*/ char *join1(char *a, char *b) { char *c = (char *) malloc(strlen(a) + strlen(b) + 1); //局部变量,用malloc申请内存 if (c == NULL) exit (1); char *tempc = c; //把首地址存下来 while (*a != '\0') { *c++ = *a++; } while ((*c++ = *b++) != '\0') { ; } //注意,此时指针c已经指向拼接之后的字符串的结尾'\0' ! return tempc;//返回值是局部malloc申请的指针变量,需在函数调用结束后free之 } /*方法二,直接改掉字符串a,*/ void join2(char *a, char *b) { //注意,如果在main函数里a,b定义的是字符串常量(如下): //char *a = "abc"; //char *b = "def"; //那么join2是行不通的。 //必须这样定义: //char a[4] = "abc"; //char b[4] = "def"; while (*a != '\0') { a++; } while ((*a++ = *b++) != '\0') { ; } } /*方法三,调用C库函数,*/ char* join3(char *s1, char *s2) { char *result = malloc(strlen(s1)+strlen(s2)+1);//+1 for the zero-terminator //in real code you would check for errors in malloc here if (result == NULL) exit (1); strcpy(result, s1); strcat(result, s2); return result; }

 进制转换

 

 

转载地址:http://mahvx.baihongyu.com/

你可能感兴趣的文章
hello Kotlin (android 的swift)
查看>>
PostgreSQL安装手册
查看>>
【NeuVector】通过云市场部署容器安全解决方案
查看>>
C语言OJ项目参考(2472) 大帆玩英雄联盟
查看>>
《C语言及程序设计》实践参考——工资的排序
查看>>
【Spark Summit EU 2016】SparkOscope:优化Spark的跨栈监控与可视化框架
查看>>
阿里云&袋鼠学院邀您一起共同探讨“云上如何不烦恼”
查看>>
饿了么四次技术进化的曲折路,记访谈张雪峰
查看>>
Logstash + DataHub + MaxCompute/StreamCompute 进行实时数据分析
查看>>
阿里云启动天池电力AI大赛
查看>>
linux系统硬件配置查看方法
查看>>
白话PHP7扩展开发之创建对象
查看>>
mysql常用基础操作语法(一)~~对库的操作【命令行模式】
查看>>
Dubbo之旅--注册中心-Zookeeper
查看>>
统计某个路径下所有的java文件,以及统计代码数量
查看>>
[搜狗] 找一个字符串中包含全部出现字符的最小字符串
查看>>
支付宝分层与端到端回归平台建设实践
查看>>
数据库并行访问控制之互斥显示
查看>>
如何通过httpd和DVD ISO在RHEL上配置yum本地源
查看>>
《从零开始学Swift》学习笔记(Day 64)——Cocoa Touch设计模式及应用之目标与动作...
查看>>