字符串拼接大全

一、c语言字符串拼接函数

头文件包含#include<string.h>

函数原型:char *strcat(char *dest, const char *src);

参数:dest 为目标字符串指针,src 为源字符串指针。

strcat() 会将参数 src 字符串复制到参数 dest 所指的字符串尾部;dest 最后的结束字符 NULL 会被覆盖掉,并在连接后的字符串的尾部再增加一个 NULL。

返回值:返回dest 字符串起始地址。

note:dest 与 src 所指的内存空间不能重叠,且 dest 要有足够的空间来容纳要复制的字符串。

举例:

#include <stdio.h>
#include <string.h>
int main ()
{
    char str[80];
    strcpy (str,"these ");
    strcat (str,"strings ");
    strcat (str,"are ");
    strcat (str,"concatenated.");
    puts (str);
    return 0;
}

  

二、c语言格式化字符串函数

头文件:#include <stdio.h>

原型: int sprintf(char *str, char * format [, argument, ...]);

参数:str为要写入的字符串;format为格式化字符串,与printf()函数相同;argument为变量。

返回值:成功则返回参数str 字符串长度,失败则返回-1,错误原因存于errno 中。

注意:

除了前两个参数类型固定外,后面可以接任意多个参数。而它的精华,显然就在第二个参数格式化字符串上。 printf()和sprintf()都使用格式化字符串来指定串的格式,在格式串内部使用一些以“%”开头的格式说明符(format specifications)来占据一个位置,在后边的变参列表中提供相应的变量,最终函数就会用相应位置的变量来替代那个说明符,产生一个调用者想要的字符串。

sprintf()最常见的应用之一莫过于把整数打印到字符串中,如:

sprintf(s, "%d", 123); //把整数123打印成一个字符串保存在s中

sprintf(s, "%8x", 4567); //小写16进制,宽度占8个位置,右对齐

sprintf的作用是将一个格式化的字符串输出到一个目的字符串中,而printf是将一个格式化的字符串输出到屏幕。sprintf的第一个参数应该是目的字符串,如果不指定这个参数,执行过程中出现 "该程序产生非法操作,即将被关闭...."的提示。

sprintf()会根据参数format 字符串来转换并格式化数据,然后将结果复制到参数str 所指的字符串数组,直到出现字符串结束(‘\0‘)为止。关于参数format 字符串的格式请参考printf()。

三、c++ std::string类

1.append

2.运算符+

举例:

void StringAdd(string& des,string src)
{
	des += src;
}
void StringAppend(string& des,string src)
{
	des.append(src);
}

这两种方法实现拼接,但是拼接的只能是字符串,不能是其他类型,如果拼接其他类型则显得不灵活。

四、c++ 11 to_string

std标准在c++11中提供了std::to_string系列函数,借助这个函数加上string+运算符可以轻松实现字符串拼接

五、c++字符串流

举例:

#include <sstream>

std::ostringstream s;
string str1 ="abc";
int iNum = 100;
s<<str1<<"sdfal;dk;asld,"<<iNum;
str1 = s.str();

 任意类型拼接,不怕越界和溢出,安全可靠。

六、boost库boost::lexical_cast

举例:

#include <boost/lexical_cast.hpp>
std::string query("select logged from login where id = " + boost::lexical_cast<std::string>(ClientID));

 

七、boost format方法

http://www.boost.org/doc/libs/1_66_0/libs/format/doc/format.html

关于各大字符串拼接方法效率比较

参考一篇博客:https://www.cnblogs.com/james6176/p/3222671.html

原文地址:https://www.cnblogs.com/alinh/p/9023422.html

时间: 2024-11-08 10:50:44

字符串拼接大全的相关文章

C语言字符串函数大全

转载自http://www.360doc.com/content/08/0723/22/26860_1462024.shtml# 函数名: stpcpy 功能: 拷贝一个字符串到另一个 用法: char *stpcpy(char *destin, char *source); 程序例: #include<stdio.h> #include<string.h> int main(void) { char string[10]; char *str1 = "abcdefghi

NSString用法,object-C数组以及字符串拼接和分割

一.介绍使用NSString创建一个字符串的代码如下: #import <Foundation/Foundation.h>int main (int argc, char *argv[]){    NSAutoreleasePool*pool=[[NSAutoreleasePool alloc]init]; NSString *[email protected]"Programming is fun";    NSLog(@"%@",str); [poo

Oracle与MySQL字符串拼接

一.MySQL 在java中我们通常用加号"+"来实现字符串的拼接,MySQL中也可以使用"+"来实现,比如: 先加入测试数据 CREATE TABLE test( id INT, name VARCHAR(10), score FLOAT ); INSERT INTO test VALUES(1,'zhang',98); INSERT INTO test VALUES(2,'li',95); Demo1 SELECT NAME+'hello' FROM test;

NSMutableString,可变字符串,拼接,删除,插入,替换

<span style="font-size:18px;"> NSMutableString *str = [NSMutableString stringWithFormat:@"lanouhenan"]; //对于可变字符串的增删改方法, 都是在原字符串基础上进行修改, 所以修改之后的原字符串的内容发生变化, 所以无需返回值 //1 在原字符串基础上拼接Frank [str appendFormat:@"Frank"]; NSLog

day46homework常量字符串拼接结构赋值扩展运算符for-of循环map函数默认值

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>01定义常量.html</title> <!--常量--> <script> //常量:1.一旦定义 不能更改 const PI = 3.14;  // console.log(PI); // PI = 3.1415; error 

有关字符串拼接的背景、阴影等随机改变

---恢复内容开始--- 本文主要内容是通过随机数和字符串拼接来改变可以用数字表示的样式,比如用RGB表示的背景色边框大小.阴影位置和颜色.字体大小等通过字符串拼接的方式都可以实现,本文只列举了背景随机和阴影随机位置:实现效果如下:代码如下: <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title>

【转】Java 5种字符串拼接方式性能比较。

最近写一个东东,可能会考虑到字符串拼接,想了几种方法,但对性能未知,于是用Junit写了个单元测试. 代码如下: import java.util.ArrayList; import java.util.List; import org.apache.commons.lang.StringUtils; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class TestS

字符串拼接性能优化

var htmlString = '<div class="container">' + '<ul id="news-list">', for (var i = 0; i < NEWS.length; i++) { htmlString += '<li><a href="'+NEWS[i].LINK +'">' + NEWS[i].TITLE + '</a></li>'

JavaScript字符串拼接

在JavaScript中拼接字符串,可以用‘+’号来连接多个字符串: <script type="text/javascript"> var str1 = "hello"; var str2 = "world"; console.log(str1+' '+str2); </script> 而在ECMAscript6中又有了另外一种字符串拼接的方法: <script type="text/javascript