(8)用指针作为参数,自定义两数 stringcat (char * ,char *),实现字符串的连接。
时间: 2024-05-01 11:21:51 浏览: 52
可以按照以下方式实现两数字符串的连接:
```c++
#include <iostream>
#include <cstring>
using namespace std;
void stringcat(char* str1, char* str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
for (int i = 0; i < len2; i++) {
str1[len1 + i] = str2[i];
}
str1[len1 + len2] = '\0';
}
int main() {
char str1[100] = "Hello, ";
char str2[100] = "world!";
stringcat(str1, str2);
cout << str1 << endl; // 输出:Hello, world!
return 0;
}
```
在这里,我们定义了一个函数 `stringcat`,它接受两个 `char*` 类型的参数,分别表示两个字符串。我们首先计算出第一个字符串的长度,然后将第二个字符串中的每个字符拷贝到第一个字符串的末尾,最后在第一个字符串的末尾添加一个空字符,表示字符串的结束。
在 `main` 函数中,我们定义两个字符串 `str1` 和 `str2`,并将它们传递给 `stringcat` 函数。最后,我们输出连接后的字符串 `str1`。
相关问题
char *ReplaceString(char * str, char * s1, char * s2)
这是一个用于替换字符串中指定子字符串的函数。函数接受三个参数:原始字符串指针,需要替换的子字符串指针和替换成的子字符串指针。函数返回一个指向新字符串的指针。
下面是函数的代码实现:
```c
char *ReplaceString(char * str, char * s1, char * s2) {
char *result;
int i, cnt = 0;
int s1_len = strlen(s1);
int s2_len = strlen(s2);
// 计算需要替换的子字符串的数量
for (i = 0; str[i] != '\0'; i++) {
if (strstr(&str[i], s1) == &str[i]) {
cnt++;
i += s1_len - 1;
}
}
// 为新字符串分配内存
result = (char *)malloc(i + cnt * (s2_len - s1_len) + 1);
i = 0;
while (*str) {
// 如果找到需要替换的子字符串,则将其替换为新字符串
if (strstr(str, s1) == str) {
strcpy(&result[i], s2);
i += s2_len;
str += s1_len;
}
else
result[i++] = *str++;
}
result[i] = '\0';
return result;
}
```
使用示例:
```c
char str[] = "The quick brown fox jumps over the lazy dog";
char *result = ReplaceString(str, "fox", "cat");
printf("%s", result);
free(result);
```
该示例会将字符串中的“fox”替换为“cat”,并输出结果:“The quick brown cat jumps over the lazy dog”。函数会动态分配内存,因此使用完毕后需要使用free()函数释放内存。
实现一个函数,将两个字符串连接起来。 函数接口定义: char *str_cat( char *s, char *t ); 函数str_cat应将字符串t复制到字符串s的末端,并且返回字符串s的首地址,C语言具体实现
下面是一个简单的 C 语言实现:
```c
#include <stdio.h>
#include <string.h>
char *str_cat(char *s, char *t) {
strcat(s, t);
return s;
}
int main() {
char s[100] = "Hello, ";
char t[] = "world!";
printf("%s\n", str_cat(s, t)); // 输出:Hello, world!
return 0;
}
```
在上面的代码中,我们定义了一个 `str_cat` 函数,它接受两个参数 `s` 和 `t`,分别表示要连接的两个字符串。函数内部使用了 C 语言标准库中的 `strcat` 函数将 `t` 连接到 `s` 的末尾,然后返回 `s` 的指针,即连接后的字符串。
在 `main` 函数中,我们定义了两个字符串 `s` 和 `t`,然后调用 `str_cat` 函数将它们连接起来,并输出结果。
阅读全文