在 C++ 中连接字符数组 [英] Concatenate char arrays in C++

查看:24
本文介绍了在 C++ 中连接字符数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下代码并希望以字符结尾,例如:你好,你好吗?"(这只是我试图实现的一个例子)

I have the following code and would like to end up with a char such as: "Hello, how are you?" (this is just an example of what I'm trying to achieve)

如何连接 2 个字符数组并在中间添加,"和你"?最后?

How can I concatenate the 2 char arrays plus adding the "," in the middle and the "you?" at the end?

到目前为止,这连接了 2 个数组,但不确定如何将额外的字符添加到我想要提出的最终 char 变量中.

So far this concatenates the 2 arrays but not sure how to add the additional characters to my final char variable I want to come up with.

#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    char foo[] = { "hello" };
    char test[] = { "how are" };
    strncat_s(foo, test, 12);
    cout << foo;
    return 0;
}

这是我在你所有回复后想到的.我想知道这是否是最好的方法?

This is what I came up with after all your replies. I'd like to know if this is the best approach?

#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    char foo[] = { "hola" };
    char test[] = { "test" };
    string foos, tests;
    foos = string(foo);
    tests = string(test);
    string concat = foos + "  " + tests;
    cout << concat;
    return 0;
}

推荐答案

在 C++ 中,使用 std::stringoperator+,它是专门为解决诸如此类的问题.

In C++, use std::string, and the operator+, it is designed specifically to solve problems like this.

#include <iostream>
#include <string>
using namespace std;

int main()
{
    string foo( "hello" );
    string test( "how are" );
    cout << foo + " , " + test;
    return 0;
}

这篇关于在 C++ 中连接字符数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆