将2个cstring数组添加到1个cstring数组中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将2个cstring数组添加到1个cstring数组中相关的知识,希望对你有一定的参考价值。

我最近了解了cstring数组,并想尝试将两个字符串加在一起的基本操作,在普通字符串中使用header作为标题,可以添加string1 + string2 = string3。但是我尝试对cstrings执行此操作,但是当我遵循这种格式时可能会出现错误,这是错误的。这是代码,该代码仅用于在字符串中将我的名字和姓氏打印为1。

#include<iostream>
#include<cstring>


using namespace std;

 int main() {
 char fname[100], lname[100], full_name[100];
 int i, j;
 i = 0;j = 0; // i is index of fname and j is index for lname
 cout << "Enter your first name: ";
 cin.getline(fname, 100);
 cout << "Enter your last name: ";
 cin.getline(lname, 100);
 for (i;fname[i] != '';i++) {
    full_name[i] = fname[i];
  }
  std::string(fname +" "+ lname);
  cout << "i =" << i;
  full_name[i] = ' ';
  i = i + 1;
  for (i, j;lname[j] != '';i++, j++) {
    full_name[i] = lname[j];
    }
    cout << "Your full name is: " << full_name << endl;
    system("pause");
    return 0;
}
答案

首先从代码中删除此行

std::string(fname +" "+ lname);

第二个您在结束字符串后忘记添加'',请看以下代码:

int main() {
    char fname[100], lname[100], full_name[100];
    int i, j;
    i = 0; j = 0; // i is index of fname and j is index for lname
    cout << "Enter your first name: ";
    cin.getline(fname, 100);
    cout << "Enter your last name: ";
    cin.getline(lname, 100);
    for (i; fname[i] != ''; i++) {
        full_name[i] = fname[i];
    }

    cout << "i =" << i;
    full_name[i] = ' ';
    i = i + 1;
    for (i, j; lname[j] != ''; i++, j++) {
        full_name[i] = lname[j];
    }
    full_name[i] = '';
    cout << "Your full name is: " << full_name << endl;
    system("pause");
    return 0;
}

以上是关于将2个cstring数组添加到1个cstring数组中的主要内容,如果未能解决你的问题,请参考以下文章

如何将CString转换为byte []数组? [重复]

CString 取字符串

求一个Cstring类数组文件读取代码

MFC 把CString格式的时间添加到时间控件(CDateTimeCtrl)中去

将 CString 数组转换为 System::String

cstring 限制字符长度