C++ How can I add a space between the two strings? #include <iostream> #include
ID: 3769849 • Letter: C
Question
C++
How can I add a space between the two strings?
#include <iostream>
#include <cctype>
#include <cstring>
using namespace std;
int main()
{
string str1, str2;
cout << "String 1: " << endl;
cin >> str1;
char * cstr1 = new char [str1.length()+1];
char * Newstring1 = new char [str1.length()+1];
strcpy (cstr1, str1.c_str());
strcpy(Newstring1, cstr1);
cout << "String 2: " << endl;
cin >> str2;
char * cstr2 = new char [str2.length()+1];
char * Newstring2 = new char [str2.length() + 1];
strcpy(cstr2, str2.c_str());
strcpy(Newstring2, cstr2);
cout << strcat(Newstring1, Newstring2) << endl;
char * cstr3 = new char [str1.length() + str2.length() + 1];
int i;
for(i = 0; i < (str1.length() + str2.length()); i++)
if(i < str1.length())
cstr3[i] = str1[i];
else
cstr3[i] = str2[i-str1.length()];
cstr3[i] = '';
cout<<cstr3<<endl;
}
Explanation / Answer
#include <iostream>
#include <cctype>
#include <cstring>
using namespace std;
int main()
{
string str1, str2;
cout << "String 1: " << endl;
cin >> str1;
char * cstr1 = new char [str1.length()+1];
char * Newstring1 = new char [str1.length()+1];
strcpy (cstr1, str1.c_str());
strcpy(Newstring1, cstr1);
cout << "String 2: " << endl;
cin >> str2;
char * cstr2 = new char [str2.length()+1];
char * Newstring2 = new char [str2.length() + 1];
strcpy(cstr2, str2.c_str());
strcpy(Newstring2, cstr2);
cout << strcat(Newstring1, Newstring2) << endl;
char * cstr3 = new char [str1.length() + str2.length() + 1];
int i;
for(i = 0; i < (str1.length() + str2.length()+1); i++)
if(i < str1.length())
cstr3[i] = str1[i];
else
{
if(i==str1.length())
{
cstr3[i]=" ";
i++;
}
cstr3[i] = str2[i-str1.length()];
}
cstr3[i] = '';
cout<<cstr3<<endl;
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.