-
2021-05-19 09:36:15
总结一下C++中的字符串拼接方式,有以下几种:
1.sprintf()函数
// 函数定义 int sprintf(char *string, char *format [,argument,...]); // 用法,拼接"11"和str2 char str1[10]; char str2[10] = "999"; sprintf(str1, "%s%s", "11", str2);
2.strcat()函数
// 函数定义 extern char *strcat(char *dest, const char *src); // 用法,拼接"11"和str2 char str1[10]; char str2[10] = "999"; strcpy(str1, "11"); // 先拷贝 strcat(str1, str2); // 再追加
这个函数更多的是追加,对于空的字符串str1,如果直接用strcat会不知道追加到哪导致出错。
还有其它方法以后有机会再添加……
更多相关内容 -
C++ 字符串拼接函数:strcat_s
2020-07-29 19:24:45C++ 字符串拼接函数:strcat_s1、函数原型2、函数功能3、参数介绍3、示例 1、函数原型 errno_t strcat_s( char *strDestination, size_t numberOfElements, const char *strSource ); 2、函数功能 字符串拼接,...1、函数原型
errno_t strcat_s( char *strDestination, size_t numberOfElements, const char *strSource );
2、函数功能
字符串拼接,追加 strSource 到 strDestination
3、参数介绍
strDestination:目标字符串缓冲区。
numberOfElements:目标字符串缓冲区的大小。
strSource:源字符串缓冲区。注意:第二个参数是合并字符串后的字符数量。 即,源串大小 + 目标串大小 + 字符串结束符大小("\0")。
3、示例
#include <stdlib.h> #include <string.h> int main(int argc, char *argv[]) { char *result_str = (char *)malloc(12); memset(result_str , 0, sizeof(result_str )); char *str1 = "hello"; char *str2 = "world!"; int len1 = strlen(str1) + 1; strcat_s(result_str , len1, str1); int len2 = strlen(result_str ) + strlen(str2) + 1; strcat_s(result_str , len2, str2); printf("%s", result_str); return 0; );
输出:helloworld!
-
C++字符串拼接函数stringcat
2018-01-24 22:00:00//p用于存储拼接后的字符串,p0备用 p=new char[strlen(s1)+strlen(s2)+1];//使用new为p申请恰好的堆空间 if(p==NULL){//检测是否申请空间成功 cout!"; } p0=p;//让P0指向P while(*s1){//s1中的元素不为'\0'时继续...#include <iostream> using namespace std; char * stringcat(const char *s1,const char *s2); void main(){ char *c; const char *a = "i love ",*b="you"; c=stringcat(a,b); cout<<c<<endl; delete [] c; } char * stringcat(const char *s1,const char *s2){ char*p,*p0;//p用于存储拼接后的字符串,p0备用 p=new char[strlen(s1)+strlen(s2)+1];//使用new为p申请恰好的堆空间 if(p==NULL){//检测是否申请空间成功 cout<<"Out of space!"<<endl; } p0=p;//让P0指向P while(*s1){//s1中的元素不为'\0'时继续遍历 *p++=*s1++;//将p的元素用s1元素挨个填充 } while(*s2){ *p++=*s2++; } *p='\0';//尾部加上结束符 return p0;//返回p0 }
疑难点1:*p++=*s1++
*p的首地址首先被s1的首地址赋值,然后 *p++就是走向p的下一个元素的地址,*s1++同理,然后继续赋值,直到s1到结束符
疑难点2:return p0
p0指向p的首地址,所以p0的内容和p是一样的,但是p最后指向了结束符,所以返回p就是返回结束符,最后会溢出!
-
c++实现strcat字符串连接库函数的方法详解
2020-09-05 06:45:39本篇文章是对使用c++实现strcat字符串连接库函数的方法进行了详细的分析介绍,需要的朋友参考下 -
【千律】C++基础:编写实现自定义的字符串拼接函数
2022-03-17 16:30:40#include <iostream>... // 初始化字符串 str_1 的 int Actlen_1 = 0; // 得到字符串 str_1 的实际长度 for (int i = 0; i < len_1; i++) { if (str_1[i] == '\0') { Actlen.#include <iostream> using namespace std; char* strconnect(char str_1[], char str_2[], int len_1, int len_2) { // 初始化字符串 str_1 的 int Actlen_1 = 0; // 得到字符串 str_1 的实际长度 for (int i = 0; i < len_1; i++) { if (str_1[i] == '\0') { Actlen_1 = i; break; } } // 将字符串2拼接到字符串1中 for (int i = 0; i <= len_2; i++) { if (str_2[i] == '\0') { str_1[Actlen_1 + i] = str_2[i]; break; } else { str_1[Actlen_1 + i] = str_2[i]; } } // 返回拼接后的字符串 return str_1; } int main() { // 初始化变量 char str_1[50] = "hello, my name is qianlv. "; char str_2[20] = "what is your name?"; // 得到数组长度 int len_1 = sizeof(str_1) / sizeof(str_1[0]); int len_2 = sizeof(str_2) / sizeof(str_2[0]); // 拼接字符串 strconnect(str_1, str_2, len_1, len_2); cout << "拼接后的字符串 = " << str_1 << endl; return 0; }
-
字符串拼接C++
2020-11-14 18:51:15使用strcat()函数。 头文件 #include<string.h>或#include<cstring> 函数声明 char *strcat(char *dest, const char *src) 实例 #include <stdio.h> #include <string.h> int ... -
C++字符串的拼接
2019-08-15 14:18:51C++字符串的拼接 字符串拼接是指将两个字符串连接在一起,形成一个更长的字符串 #include <iostream> int main(int argc,const char* argv[]) { std::string str1 = "Hello ;" std::string str2 = "World!... -
C++字符串拼接 字符串拼接
2020-08-15 11:56:35C++字符串拼接 字符串拼接 功能描述: 实现在字符串末尾拼接字符串 #include <iostream> #include <string> using namespace std; //string& operator+=(const char* str); //重载+= 操作符 //... -
C++字符串转函数名
2019-05-15 18:45:35C++ 中通过函数名字的字符串调用函数 C++ 根据字符串 调用同名函数 #include <iostream> #include <map> #include <string> using namespace std; int use_foo1_1(int n) { return n; } int ... -
C++字符串拼接性能测试
2020-07-10 12:11:36本文对C++字符串拼接操作的四种运行:+=、append、stringstream、sprintf 进行简单的性能测试, 测试方法 比较方法是写了4个函数,分别用+=、append、stringstream、sprintf的方式来拼接字符串,拼接方法是将 s1=... -
c++字符串相连函数
2016-08-23 14:32:00// 介绍两种方法,源程序如下: //////////////////////////////////////////////////////////////////////// 方法一:#include <cstring> #include <iostream>#include <cstring>... -
linux c++字符串拼接速度比较(+=,append,stringstream,sprintf)
2018-07-30 09:44:22原文:... ... 最近写的程序用到大量拼接字符串,为了提高拼接效率,比较了一下+=、append、stringstream、sprintf四种拼接字符串的方法。 测试方法 比较方法是... -
c/c++字符串操作函数及用法详解
2021-08-04 09:48:57计算指定的字符串string的长度。 strlen函数实现: size_t strlen(const char *string); size_t my_strlen1(const char* string) { assert(string); size_t count = 0; while (*string++) { count++; } ... -
C++中string append函数的使用与字符串拼接
2018-11-03 15:10:16常用的函数原型: basic_string &amp;amp;append( const basic_string &amp;amp;str ); basic_string &amp;amp;append( const char *str ); basic_string &amp;amp;append( ... -
C++字符串的拼接与截取:
2021-10-06 19:41:04#include<iostream> #include<cstring> using namespace std; int main() ...//字符串拼接直接用+号就可以 string a1=a.substr(4,3); //表示从下标4开始,3个字符 cout<<a1<<en... -
C++字符串常见操作函数最全总结
2020-05-16 22:36:50在做题过程中经常用到字符串,有时候费了很大力气去写一个函数,结果最后发现C++已经封装好了此类函数。。。所以花点时间总结一下。 -
C++字符串拼接效率比较(+=、append、stringstream、spintf)
2021-06-23 15:28:00C/C++中字符串拼接的使用场景非常多,字符串拼接的方法也非常多,这里简单的比对下上述四种方法的效率。 测试方法:分别哟经+=、append、stringstream、sprintf的方式来拼接字符串。s1=“aaaaa”,s2=“bbbbb”,s3... -
C/C++ 字符串拼接 sprintf()
2018-10-09 16:11:13C/C++ 字符串拼接 sprintf() 利用opencv 按时间命名图片并保存到E盘指定位置,用到字符串拼接知识,找了一些资源,拼凑一下,试了试,还不错,特此记录、分享。 (注)opencv图片保存算是小儿科,代码不再贴出,... -
C++ 宏字符串拼接、宏参数拼接成符号、宏嵌套、宏变长参数
2020-07-13 16:23:23#define __TO_STR(f1,f2) "__"#f1"_"#f2"__" // 字符串拼接 #define __CONNECT__FLAG(f1, f2) __##f1##_##f2##__ // 宏参数拼接成符号 #define __CALL(f1, f2) __CONNECT__FLAG(f1, f2) // 宏嵌套 #define __... -
C++字符串的拼接与使用
2021-01-14 11:17:33在C++中可以直接在输出函数中使用字符串拼接 string a = "hello"; string b = "world"; cout<< "hello" "world"<<endl;//合法语句 cout <<a+b<< endl;//不合法语句 对于上述的合法... -
C,C++中常用的操作字符串的函数
2021-01-21 18:37:19功 能: 字符串拼接函数,注意,destin要有足够大的空间 用 法: char *strcat(char *destin, char *source); 函数名: strchr 功 能: 在一个串中查找给定字符的第一个匹配之处,找不到返回NULL 用 法: char *strchr... -
c++字符串和整数拼接
2021-03-01 20:47:39在生成路径时,我们需要将字符串和编号拼接。在python中format很容易生成,在c++中我花了半个小时。。。 int i=0; char path[30]; sprintf(path, "result/node/%d.txt", i); 如果要传入函数,直接传入path就可以。... -
关于C++的string字符串拼接问题(和“字符转字符串”问题有关)
2020-10-24 13:58:311、字符串拼接分软拼接和硬拼接(“软硬拼接”是我自己发明的词~实际上到底有没有这种说法我就没去管了) 2、所谓软拼接,就是字符串后面加的是【字符串】;硬拼接就字符串后面加的是【字符】 3、软拼接,只会拼接'... -
两个字符串拼接(不用strcat函数)
2017-11-29 17:15:26字符串拼接要求不用strcat函数,具体思路如下: 先求出2个字符串的长度 用循环将第二个字符串的字符添加到第一个字符串的后面 #include #include #define Max_num 1000char* myStrcat(char *str1, char *str2) { ... -
C++字符串拼接
2017-03-16 11:30:50输出:ch1与ch2拼接在一起的字符串char* ch3 #include "stdafx.h" #include #include "Circle.h" using namespace std; int main() { char *ch1 = "link "; char *ch2 = "test"; char *ch3 = (char -
C++ string类和字符串的访问和拼接操作
2021-05-20 07:29:33C++ 增强了对字符串的支持,除了可以使用c中的字符串,还可以使用内置的数据类型string,string类处理字符串会翻遍很多,完全可以代替C语言中的char 数组和char 指针。使用sting类需要包含头文件< sting >, ... -
详解C++字符串函数与字符数组附带例题
2022-03-24 20:31:39详解C++字符串函数与字符数组附带例题 -
c++ string 构造函数 赋值操作 字符串拼接
2021-05-09 16:58:27//创建一个空的字符串,例如:string str; string(const char* s); //使用字符串s初始化 string(const string& str);//使用一个string对象初始化另一个string对象 string(int n,char c); //使用n个字符c初始化 ... -
C/C++常用字符串处理函数总结 及 手动替代实现
2022-02-07 15:24:33本篇将介绍C/C++中非常常用的字符串处理函数 -
c++字符串拼接的两种方法
2017-04-17 11:43:17一种是使用stringstream类 ...其中 itos 函数要自己定义 string itos(int i) { stringstream s; s; return s.str(); } 他的内部还是调用了stringstream类
收藏数
25,168
精华内容
10,067
相关推荐
-
<em>C语言字符串</em>处理<em>函数</em>几个<em>字符串</em>处理<em>函数</em>增强版 常用需求基本都能完成 已经编译成DLL <em>函数</em>列表 兼容字符和串 void revstr char str <em>字
-
<em>C语言字符串函数</em>大全 <em>C语言字符串函数</em>大全<em>C语言字符串函数</em>大全<em>C语言字符串函数</em>大全<em>C语言字符串函数</em>大全<em>C语言字符串函数</em>大全<em>C语言字符串函数</em>大全<em>C
-
<em>C语言字符串函数</em>大全.rar<em>字符串函数</em>使用方法,<em>C语言</em>描述,总结<em>函数</em>的文档
-
链表及<em>字符串</em>处理<em>函数</em>集合包含链表及<em>字符串</em>处理<em>函数</em>的<em>C</em>文件及头文件,链表和<em>字符串</em>的处理<em>函数</em>相当丰富,链表处理<em>函数</em>提供了
-
pb<em>字符串函数</em>.zippb字符中<em>函数</em>,包含常用<em>字符串函数</em>及常语法
友情链接:
mathHARRIS.rar