用c++写一个字符串拼接
时间: 2024-02-18 20:34:50 浏览: 20
可以使用 strcat() 函数来实现字符串拼接,示例代码如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[100] = "Hello, ";
char str2[] = "world!";
strcat(str1, str2);
printf("%s", str1);
return 0;
}
```
以上代码会输出: "Hello, world!"
相关问题
用C++写一个字符串拼接
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[50];
printf("请输入第一个字符串:");
gets(str1);
printf("请输入第二个字符串:");
gets(str2);
strcat(str1, str2);
printf("拼接后的字符串为:%s\n", str1);
return 0;
}
// 示例输入:
// 请输入第一个字符串:Hello
// 请输入第二个字符串:World!
// 输出结果:
// 拼接后的字符串为:HelloWorld!
用c++定义一个字符串类
C语言中没有字符串类的概念,但可以通过定义一个字符数组来实现字符串操作。以下是一个简单的字符串类定义:
```c
// 定义一个字符串类
typedef struct {
char* str; // 字符串的存储空间
int length; // 字符串的长度
} String;
// 初始化一个字符串对象
void initString(String* s, const char* str) {
s->length = strlen(str);
s->str = (char*)malloc((s->length + 1) * sizeof(char));
strcpy(s->str, str);
}
// 获取字符串的长度
int getStringLength(String* s) {
return s->length;
}
// 获取字符串的值
char* getStringValue(String* s) {
return s->str;
}
// 拼接字符串
void concatString(String* s1, String* s2) {
int newLength = s1->length + s2->length;
char* newStr = (char*)malloc((newLength + 1) * sizeof(char));
strcpy(newStr, s1->str);
strcat(newStr, s2->str);
free(s1->str);
s1->str = newStr;
s1->length = newLength;
}
// 释放字符串的存储空间
void freeString(String* s) {
free(s->str);
s->length = 0;
s->str = NULL;
}
```
使用示例:
```c
int main() {
String s1, s2;
initString(&s1, "hello");
initString(&s2, "world");
printf("s1: %s\n", getStringValue(&s1));
printf("s2: %s\n", getStringValue(&s2));
concatString(&s1, &s2);
printf("s1 after concat: %s\n", getStringValue(&s1));
printf("s1 length: %d\n", getStringLength(&s1));
freeString(&s1);
freeString(&s2);
return 0;
}
```