编写字符串字符替换函数C++
时间: 2024-05-15 13:14:49 浏览: 81
我可以回答这个问题。在C语言中,可以使用字符串库函数strchr和strncpy来实现字符替换功能。可以使用strchr查找要替换的字符,再使用strncpy将新的字符替换原字符串中的字符。以下是示例代码:
```
void str_replace(char *str, char old_char, char new_char) {
char *ptr = strchr(str, old_char);
while(ptr != NULL) {
strncpy(ptr, &new_char, 1);
ptr = strchr(ptr + 1, old_char);
}
}
```
在上述代码中,我们传入要替换的字符、旧字符和新字符。函数使用strchr函数在字符串中查找要替换的字符的位置,并使用strncpy函数将新字符替换原字符串中的字符。函数使用一个循环来替换字符串中所有的旧字符。
相关问题
用c++编写字符串字符替换函数
好的,我可以帮你解决这个问题。以下是一个示例代码,用于替换字符串中的指定字符:
```c
#include <stdio.h>
#include <string.h>
void replaceChar(char *str, char oldChar, char newChar) {
int i, len;
len = strlen(str);
for (i = 0; i < len; i++) {
if (str[i] == oldChar) {
str[i] = newChar;
}
}
}
int main() {
char str[] = "hello world";
printf("原始字符串: %s\n", str);
replaceChar(str, 'l', 'x');
printf("替换后字符串: %s\n", str);
return 0;
}
```
在上面的示例代码中,`replaceChar` 函数接受三个参数:`str` 表示需要被替换的字符串,`oldChar` 表示需要被替换的字符,`newChar` 表示替换后的字符。
在主函数中,我们声明一个字符串 `str`,并将其传递给 `replaceChar` 函数进行替换。最后打印出替换后的字符串结果。
希望这个示例代码可以帮到你!
c++编写字符串压缩函数
C++中可以使用STL库中的string类型来实现字符串压缩函数。下面是一个简单的实现方法:
1. 遍历字符串,统计每个字符出现的次数,并将其存储在一个map中。
2. 遍历map,将每个字符和其出现次数按照一定格式拼接成一个压缩后的字符串。
3. 返回压缩后的字符串。
代码示例:
```
#include <iostream>
#include <string>
#include <map>
using namespace std;
string compressString(string str) {
map<char, int> charCount;
for (char c : str) {
charCount[c]++;
}
string compressedStr = "";
for (auto it = charCount.begin(); it != charCount.end(); it++) {
compressedStr += it->first;
compressedStr += to_string(it->second);
}
return compressedStr;
}
int main() {
string str = "aaabbbccc";
string compressedStr = compressString(str);
cout << "原字符串:" << str << endl;
cout << "压缩后的字符串:" << compressedStr << endl;
return 0;
}
```
输出结果:
```
原字符串:aaabbbccc
压缩后的字符串:a3b3c3
```
阅读全文