C语言实现合并字符串
学会Perl以及Python之后,处理字符串也只是我很喜欢做的一件事情。进行字符串的拼接在这些高级脚本语言中是一件轻松的事情。
C语言是我的编程入门语言,但是我一直对这门语言了解并不是很深。确切说,我是对庞大的标准库以及GNU等函数库知之甚少。
使用C语言进行字符串的拼接应该怎么做呢?在先前,我肯定是要定义一个新的“字符串”,然后进行内存的拷贝。其实,有一个printf函数的孪生兄弟可以实现这个功能,那就是sprintf。
其实,在接触操作系统的时候我对这个函数多少有一点认识。那就是这个函数在实现屏显的时候比printf更为底层,而且可以直接操作内存。那么,使用这个函数进行字符串的拼接应该如何做呢?
示范代码如下:
#include"stdio.h" #include"stdlib.h" #include"string.h" int main(void) { char str1[] = "my string 1"; char str2[] = "string 2"; char *strCat = (char*)malloc(strlen(str1) + strlen(str2)); sprintf(strCat,"%s%s",str1,str2); printf("%s\n",strCat); return 0; }
代码的编译执行如下:
E:\01_workSpace\02_programme_language\01_clang\2017\08\08>gccstrCat.c
E:\01_workSpace\02_programme_language\01_clang\2017\08\08>a
my string 1string2
从上面的结果可以看出,通过sprintf实现了字符串的拼接功能。
以上这篇C语言实现合并字符串就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
c语言获取用户输入字符串是scanf和gets的区别详解
解释 gets(s)函数与 scanf("%s",&s) 相似,但不完全相同,使用scanf("%s",&s) 函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止. 1.scanf() 所在头文件:stdio.h 语法:scanf("格式控制字符串",变量地址列表); 接受字符串时:scanf("%s",
-
c语言 两字符串交叉合并实例
我就废话不多说了,直接上代码吧! //这里给出两种方法 #include<stdio.h> #include<string.h> #define M 20 void main() { char str1[M],str2[M],newstr[2*M]; int chang1,chang2,i,flag,j; int low,high; printf("请输入第一个字符串:\n"); gets(str1); printf("请输入第二个字符串:\n&quo
-
C语言实现字符串操作函数的实例
C语言实现字符串操作函数的实例 在编写程序的过程中,我们经常使用到一些字符串函数,例如求字符串长度,拷贝字符串--,这些函数都在C标准库中存在,我们可以直接使用.但我们还需要掌握这些函数的实现方法,今天来看看一些常用的字符串操作函数的实现方法. 1.strlen strlen是用来求字符串长度的函数,字符串长度就是它所包含的字符个数. 今天给大家介绍三种实现strlen函数的方法 (1)定义一个计数器count //方式一:定义一个计数器 size_t my_strlen(const char
-
详解C语言中的字符串数组
在C语言当中,字符串数组可以使用: char a[] [10]; 或者 char *a[]; 表示 第一种表示方式固定了每个字符串的最大大小.第二种没有字符串的大小限制. #include <stdio.h> #include <string.h> //该程序的功能是 输入阿拉伯数字的月份数 输出英文月份 int main() { //一个字符串数组 它的下标代表英文月份的阿拉伯数字 char *month[] = {"January","Februa
-
C语言中字符串的存储方法
众所周知,C语言中没有数据类型能够存储字符串,char数据类型仅仅能够存储一个字符的数据,那么在C语言中关于存储字符串这一难题我们改何去何从呢? 下面将详述相关的字符串存储方法; 1.使用字符数组存; [root@Qrui ruiy]# #include<stdio.h> int main(int argc,const char *argv[],const char **env[]) { char name[] = "qinrui";//定义一个字符数组,并初始化; cha
-
C语言实现合并字符串
学会Perl以及Python之后,处理字符串也只是我很喜欢做的一件事情.进行字符串的拼接在这些高级脚本语言中是一件轻松的事情. C语言是我的编程入门语言,但是我一直对这门语言了解并不是很深.确切说,我是对庞大的标准库以及GNU等函数库知之甚少. 使用C语言进行字符串的拼接应该怎么做呢?在先前,我肯定是要定义一个新的"字符串",然后进行内存的拷贝.其实,有一个printf函数的孪生兄弟可以实现这个功能,那就是sprintf. 其实,在接触操作系统的时候我对这个函数多少有一点认识.那就是这
-
Go语言中的字符串拼接方法详情
目录 1.string类型 2.strings包 2.1 strings.Builder类型 2.2 strings.Reader类型 3.bytes.Buffer 3.1 bytes.Buffer:写数据 3.2 bytes.Buffer:读数据 4.字符串拼接 4.1 直接相加 4.2strings.Builder 4.3 strings.Join() 4.4 bytes.Buffer 4.5 append方法 4.6 fmt.Sprintf 5.字符串拼接性能测试 1.string类型 s
-
C语言数据结构实现字符串分割的实例
C语言数据结构实现字符串分割的实例 以下为"字符串分割"的简单示例: 1. 用c语言实现的版本 #include<stdio.h> /* 根据空格分隔字符串 */ int partition(char *src, char *par, int pos) { int i,j; i = pos; //取到第一个非空格字符 while(src[i] == ' ') { ++i; } if(src[i] != '\0') { j = 0; while((src[i] != '\0'
-
Go语言转换所有字符串为大写或者小写的方法
本文实例讲述了Go语言转换所有字符串为大写或者小写的方法.分享给大家供大家参考.具体如下: Go语言的string模块包含了ToLower和ToUpper函数,用于将字符串转换成小写和大写 复制代码 代码如下: package main import ( "fmt" "strings" ) func main() { fmt.Println(strings.ToUpper("hello world")) } 希望本文所述对大家的Go语
-
分组字符合并SQL语句 按某字段合并字符串之一(简单合并)
标题:按某字段合并字符串之一(简单合并) 描述:将如下形式的数据按id字段合并value字段. id value ----- ------ 1 aa 1 bb 2 aaa 2 bbb 2 ccc 需要得到结果: id value ------ ----------- 1 aa,bb 2 aaa,bbb,ccc 即:group by id, 求 value 的和(字符串相加) 1.sql2000中只能用自定义的函数解决 cr
-
C语言实现将字符串转换为数字的方法
本文实例讲述了C语言实现将字符串转换为数字的方法.分享给大家供大家参考.具体实现方法如下: C语言提供了几个标准库函数,可以将字符串转换为任意类型(整型.长整型.浮点型等)的数字.以下是用atoi()函数将字符串转换为整数的一个例子: 复制代码 代码如下: # include <stdio. h> # include <stdlib. h> void main (void) ; void main (void) { int num; char * str = &qu
-
C语言之实现字符串小写变大写的实例
C语言之实现字符串小写变大写的实例 输入字符串单词,将单词小写全部变为大写. #include <iostream> #include <string> #include <vector> using namespace std; int main() { vector<string> ss; string s; while(cin>>s) ss.push_back(s); for(int i=0;i<ss.size();i++) { fo
-
C语言实现去除字符串中空格的简单实例
在网上看了些去除空格的代码,觉得都不是很简洁,就自己写代码实现它本着高效率,不使用额外存储空间的想法实现该功能去除空格一共有三种: 1.去除全部空格: 2.一种是去除左边空格: 3.去除右边空格 想去除左右两边空格,只要先去除左边再去除右边的就行了 以下是实现代码: /*去除字符串中所有空格*/ voidVS_StrTrim(char*pStr) { char *pTmp = pStr; while (*pStr != '/0') { if (*pStr != ' ') { *pTmp++ =
-
C语言中求字符串长度的函数的几种实现方法
1.最常用的方法是创建一个计数器,判断是否遇到'\0',不是'\0'指针就往后加一. int my_strlen(const char *str) { assert(str != NULL); int count = 0; while (*str != '\0') { count++; str++; } return count; } 2.不创建计数器,从前向后遍历一遍,没有遇到'\0'就让指针向后加一,找到最后一个字符,记下来地址,然后用最后一个字符的地址减去起始地址,就得到了字符串的长度.
随机推荐
- PHP用函数嵌入网站访问量计数器
- 使用Angular.js开发的注意事项
- Android 初识 Helloworld 详解
- notepad、editplus等软件常用的文本整理正则表达式
- Java查看本机端口是否被占用源码
- 浅析C++中memset,memcpy,strcpy的区别
- IOS多线程实现多图片下载(二)
- 利用Python的Django框架生成PDF文件的教程
- Notification与NotificationManager详细介绍
- JavaScript 递增、递减运算符实例
- SQL四舍五入、向下取整、向上取整函数介绍
- PowerShell小技巧之配置机器的静态IP
- Lua获取网络时间(获取时间同步服务器的时间)
- SQL Server 2005 数据库复制详细介绍
- sql 多条件组合查询,并根据指定类别找出所有最小子类别的SQL语句备忘
- innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解
- Android开发之DiffUtil的使用详解
- Android使用ImageView 制作透明圆弧实例代码
- 浅谈VC中预编译的头文件放那里的问题分析
- 接入路由器的几种选择