언어 공부/C++
string-3
세희홍
2022. 6. 22. 18:26
문자열 합치기
1.
#include <iostream>
using namespace std;
void inhastring(char* const a, const char* const b) {
int i{ 0 };
while (*(a + i) != '\0') {
i++;
}
for (int j{ 0 }; *(b + j) != '\0'; j++) {
a[i + j] = b[j];
}
}
int main() {
char a[100] = "abcd";
char b[5] = "efgh";
//const char* b = "efgh";
inhastring(a, b);
cout << a;
}
2.
#include <iostream>
using namespace std;
int inhaLen(char* a) {
int i = 0, total = 0;
while (a[i] != '\0') {
total++;
a++;
}
return total;
}
char* inhaString(char* a, char* b) {
char c[40];
for (int i = 0; i < inhaLen(a); i++) {
c[i] = a[i];
}
for (int j = 0; j < inhaLen(b); j++) {
c[j + inhaLen(a)] = b[j];
}
return c;
}
int main() {
char a[20];
char b[20];
cin >> a >> b;
for (int i = 0; i < inhaLen(a) + inhaLen(b); i++) {
cout << inhaString(a, b)[i];
}
return 0;
}
3.
#pragma warning(disable: 4996)
#include <cstring>
#include <string>
#include <iostream>
using namespace std;
void inhastring(char* front, const char* back) {
size_t f = strlen(front);
size_t b = strlen(back);
int counter = 0;
for (int i = f; i < f + b; i++) {
front[i] = back[counter];
counter++;
}
}
int main() {
char str1[20] = "abcde";
const char* str2 = "fghij";
inhastring(str1, str2);
cout << str1 << "\n";
}