精华内容
下载资源
问答
  • c++字符串连接

    2013-08-14 14:09:40
    //str = "常量字符串"+"kowin";//常量字符串不能直接相加,报错 str = "常量字符串" + name + "kowin";//一旦有字符串变量即可(任意位置都行) cout; str = spa + "常量字符串"+"kowin";//故可取巧,加一个空字符
    string name="nihao";
    string spa=""; 
    string str;
    //str = "常量字符串"+"kowin";//常量字符串不能直接相加,报错
    str = "常量字符串" + name + "kowin";//可在两常量字符串中间或开头加变量字符串即可
    cout<<str<<endl;
    str = spa + "常量字符串"+"kowin";//故可取巧,加一个空字符串变量spa到开头,就可以达到想要的效果
    cout<<str<<endl;
    
    string str1 = "字符串";
    int n = 10;
    char num[10];
    str1= str1 + itoa(n,num,10);//字符串与整型连接,先用itoa把整型转换,再连接
    cout<<str1<<endl;

    展开全文
  • C++字符串连接

    2014-03-08 22:24:18
    字符串格式化 参照下面的文章 http://www.cnblogs.com/james6176/p/3222671.html http://blog.csdn.net/yunhua_lee/article/details/6381876 结果修改代码windows+vs2010代码如下 #include #include #...

    字符串格式化

    参照下面的文章

    http://www.cnblogs.com/james6176/p/3222671.html

    http://blog.csdn.net/yunhua_lee/article/details/6381876

    结果修改代码windows+vs2010代码如下

    #include <iostream>
    #include <string>
    #include <time.h>
    #include <sstream>
    #include <stdio.h>
    #include <vector>
    using namespace std;

    #define OUT_IN_REPEATE_NUM 10000
    #define IN_REPEATE_NUM 60

    string s1="abcedfg";
    string s2="hijklmn";
    string s3="opqrst";

    void  plusTest(string& ret)
    {
        for(int i=0; i<IN_REPEATE_NUM; i++)
        {
            ret += s1;
            ret += s2;
            ret += s3;
        }
    }
    void  appendTest(string& ret)
    {
        for(int i=0; i<IN_REPEATE_NUM; i++)
        {
            ret.append(s1);
            ret.append(s2);
            ret.append(s3);
        }
    }
    void sprintfTest(string& ret)
    {
        const size_t length=26*IN_REPEATE_NUM;
        char tmp[length];
        char* cp = tmp;
        size_t strLength=s1.length()+s2.length()+s3.length();
        for(int i=0; i<IN_REPEATE_NUM; i++)
        {
            sprintf(cp,"%s%s%s", s1.c_str(), s2.c_str(),s3.c_str());
            cp+=strLength;
        }
        ret = tmp;
    }

    void  ssTest(string& ret)
    {
        stringstream ss;
        for(int i=0; i<IN_REPEATE_NUM; i++)
        {
            ss<<s1;
            ss<<s2;
            ss<<s3;
        }
        ret = ss.str();
    }

    string ss, plus, append, sprintf;
        clock_t sTime, eTime;

        sTime = clock();
        for(int i=0; i<OUT_IN_REPEATE_NUM; i++)
        {
            sprintf="";
            sprintfTest(sprintf);
        }
        eTime  = clock();
        long SprintfTime = eTime-sTime;

        sTime = clock();
        for(int i=0; i<OUT_IN_REPEATE_NUM; i++)
        {
            append="";
            appendTest(append);
        }
        eTime  = clock();
        long AppendTime = eTime-sTime;

        sTime = clock();
        for(int i=0; i<OUT_IN_REPEATE_NUM; i++)
        {
            ss="";
            ssTest(ss);
        }
        eTime  = clock();
        long SsTime = eTime-sTime;

        sTime = clock();
        for(int i=0; i<OUT_IN_REPEATE_NUM; i++)
        {
            plus="";
            plusTest(plus);
        }
        eTime  = clock();
        long PlusTime = eTime-sTime;

        cout<<"PlusTime is :   "<<PlusTime<<endl;
        cout<<"AppendTime is : "<<AppendTime<<endl;
        cout<<"SsTime is :     "<<SsTime<<endl;
        cout<<"SprintfTime is :"<<SprintfTime<<endl;
        if(ss==sprintf && append==plus && ss==plus)
        {
            cout<<"They are same"<<endl;
        }
        else
        {
            cout<<"Different!"<<endl;
            cout<<"Sprintf: "<<sprintf<<endl;
            cout<<"ss:        "<<ss<<endl;
            cout<<"Plus:     "<<plus<<endl;
            cout<<"Append:"<<append<<endl;
        }

     system("pause");

     

    测试发现不同的结果

    debug下测试结果

    PlusTme is : 610

    AppendTime is:570

    SsTim is :798

    SprintfTime is:327

    写文章前差点认为这就是最终结果,从而误导自己

    release下测试结果

    PlusTime is:15

    AppendTime is:15

    SsTime is:142

    SprintfTime is :110

    相差很多

    结合以上得出结论std::string使用+=性能最好

    展开全文
  • c++字符串连接方法大观 抛砖引玉: springf(config_itemID[i],"ItemID%s_%d",i,i); 大家说说自己都用什么方法,个有什么利弊呢?

    c++字符串连接方法大观


    抛砖引玉: springf(config_itemID[i],"ItemID%s_%d",i,i);


    大家说说自己都用什么方法,个有什么利弊呢?

    展开全文
  • c\c++字符串连接

    2019-07-15 00:05:07
    一: C风格字符串连接 #include using namespace std; int main() { const char *str = "hello "; const char *str2 = “world”; const size_t len = strlen(str)+strlen(str2); char *n_str = new char[len+1]; ...

    一: C风格字符串连接
    #include
    using namespace std;

    int main()
    {
    const char *str = "hello ";
    const char *str2 = “world”;
    const size_t len = strlen(str)+strlen(str2);
    char *n_str = new char[len+1];
    strcpy(n_str,str);
    strcat(n_str,str2);
    cout<<n_str<<endl;
    delete [] n_str;
    return 0;
    }

    二|:C++ string类型字符串
    #include
    #include
    using namespace std;

    int main()
    {
    const string str="hello ";
    const string str2=“world”;
    string n_str;
    n_str = str;
    n_str +=str2;
    cout<<n_str<<endl;
    return 0;
    }

    输入:两个字符串char* ch1,ch2

    输出:ch1与ch2拼接在一起的字符串char* ch3

    #include “stdafx.h”
    #include

    using namespace std;

    int main()
    {
    char *ch1 = "link ";
    char *ch2 = “test”;
    char *ch3 = (char *)malloc(strlen(ch1) + strlen(ch2) + 1); //向系统申请指定a+b+1个字节的内存空间分配给c,a+b+1代表c包含了a,b和结尾的’\0’
    for (int i = 0; ch1[i] != ‘\0’; i++){
    ch3[i] = ch1[i];
    }
    for (int i = 0; ch2[i] != ‘\0’; i++){
    ch3[i + strlen(ch1)] = ch2[i];
    }
    ch3[strlen(ch1) + strlen(ch2)] = ‘\0’;
    cout << ch3;
    getchar();
    return 1;
    }

    展开全文
  • c++ 字符串连接问题

    2016-04-18 16:12:50
    多行字符串书写
  • C++字符串连接,输入和输出

    千次阅读 2017-09-11 22:09:53
    #include #include //这一句有了才能编译s1.append(s2);cout; #include using namespace std; int main(){ string s1 = "a"; string s2 = "b"; s1.append(s2); cout; string s3 = "a";... string
  • #include #include using namespace std; void stc(char *s,char *t) { if(*s!='\0') s++; while(*t!='\0') { *s=*t; s++; t++; *s='\0'; } } int main() ...}
  • C++字符串的拼接

    万次阅读 多人点赞 2019-08-15 14:18:51
    C++字符串的拼接 字符串拼接是指将两个字符串连接在一起,形成一个更长的字符串 #include <iostream> int main(int argc,const char* argv[]) { std::string str1 = "Hello ;" std::string str2 = "World!...
  • C++字符串变量的运算 在上一节《C++字符串处理函数》中小林讲过:在以字符数组存放字符串时,字符串的运算要用字符串函数,如strcat strcmp、...C++字符串连接 在C++中可以用+连接两个字符串变量: string str1="C prog
  • C++字符串处理函数

    2020-12-12 22:05:38
    C++字符串连接函数strcat 函数原型为: strcat(char [],const char[]); strcat函数是有两个字符数组的参数,函数的作用是:将第二个字符数组中的字符串连接到前面字符数组的字符串的后面,第二个字符
  • 1, C++ 字符串的处#define LEN_NAME 32 #define LEN_ID 32 #define LEN_ADDRESS 256 #define DEFAULT_BUFLEN 1024*40 class PartNode { public: NodeType no...
  • C++字符串连接实现

    2019-11-29 17:55:59
    IDE:codeblocks 日期:2019/11/29 功能:字符串连接 void str_len(char *a,const char *b) { int i=0; int j=0; while(a[i]) i++; while(b[j]) { a[i] = b[j]; j++; i++;...
  • C++ 字符串

    2020-11-02 14:20:16
    C++兼容C中的字符串 C语言中表示字符串的方式 ...字符串连接: strcat() 字符串比较: strcmp() C++的string 类型 C++标准库中提供了string类型专门表示字符串 使用string可以更方便和安全的管理字符串
  • c++ 字符串连接

    2015-03-24 22:36:36
    std::string frameName = CCString::createWithFormat("_att%d.png",index++)->getCString(); std::string monsterAction = ...// 如果用地址形式的字符串string* 则不能相加 // monsterName; frame =frameCac
  • http://blog.csdn.net/chaipp0607/article/details/56676791但是这种方式存在一些弊端,比如字符数组的大小是固定的,在进行字符连接或字符复制时,需要计算字符串与字符数组的长度,否则就可能发生一部分字符超出...
  • C++字符串

    2019-09-25 13:03:01
    C++字符串: 1.字符数组:使用null字符'\0'终止字符串 char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'}; 或 char greeting[] = "Hello"; 函数操作: 1 strcpy(s1, s2); 复制字符串 s2 到字符串 s1。 2 ...
  • C++字符串

    2020-03-07 10:13:55
    字符串我们在C语言中其实已经学习过了,在C语言中学习字符串我们用的是另一个概念,字符数组,...string直接支持字符串连接 string直接支持字符串的大小比较 string直接支持子串查找和提取 string直接支持字符串的插入...
  • c++字符串

    2017-12-21 20:15:48
    c++标准库提供了string类型string直接支持字符串连接 string直接支持字符串的大小比较 string直接支持子串查找和提取 string直接支持字符串的插入和替换 字符串与数字的转换标准库提供了相关的类对字符串和数字进行...
  • 本篇文章是对使用c++实现strcat字符串连接库函数的方法进行了详细的分析介绍,需要的朋友参考下
  • C++ 字符串操作函数

    千次阅读 2017-02-23 17:28:58
    由于字符串使用广泛,C和C++提供了一些字符串函数,包括字符串连接函数strcat,字符串复制函数strcpy,字符串比较函数strcmp,字符串长度函数strlen,在C语言中被定义在string.h中定义。在C++中被定义在cstring和...
  • C++之string类字符串连接

    千次阅读 2019-05-19 00:01:54
    用“+”进行字符串连接时,操作符左右两边既可以都是string类变量,也可以是一个string类变量和一个C风格的字符串,还可以是一个string字符串和一个char型字符。而用“+=”进行字符串连接时,操作符右边既可以是一个...
  • void CMFC01Dlg::OnBnClickedButton1() { //创建打开对话框 CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "All Files(*.*)|*.*| |", AfxGetMainWnd()); CString strPath, ...
  • #include &lt;iostream&.../*--------------------------------- 18-13 18.13~14.string型字符串的合并、连接 1) string类的字符串的长度是自动变长的---------------------------------*/i...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,829
精华内容 731
关键字:

c++字符串连接

c++ 订阅