关注
//进行字符串替换
//给定一个字符串,一个替换前的字符串,一个替换后的字符串
//string& replace(size_t pos,size_t len,const string& str);
//string& replace(const_iterator it1,const_iterator i2,const string& str);
//size_type find(const string& str, size_type index);
//strstr(str1,str2);
//strstr(str1,str2)用来判断str2是否是str1的子串,如果是,则返回str2在str1中的子串,否则返null
//使用c语言,实现字符串子串替换接口
#define _CRT_SECURE_NO_WARNINGS
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <cctype>
#include <iostream>
using namespace std;
char* replaceSubstr(const char* str,const char* srcSubstr,const char* dstSubstr,char* out)
//实现字符串替换
{
//str,srcsubstr,dstsubstr
const char* p;
int len = 0;
char* _out = out;
const char* _str = str;
const char* _src = srcSubstr;
const char* _dst = dstSubstr;
int src_size = strlen(_src);
int dst_size = strlen(_dst);
//strstr用来在字符串中搜索指定的子字符串
//_out用来指向新生成的字符串目前//的位置//
//_str用来指向源字符串目前的位置//
//_src和_dst用来表示源子串和目标子串//
do{
p = strstr(_str, _src);
if (p == 0)
{
strcpy(_out, _str);
return out;
}
len = p - _str;
memcpy(_out, _str, len);
memcpy(_out + len, _dst, dst_size);
_str = p + src_size;
_out = _out + len + dst_size;
} while (p);
return out;
}
int main()
{
char str[1024];
char srcSubStr[1024];
char dstSubStr[1024];
char out[1024];
cin.getline(str,1024);
//其次是多个字符/字符串的输入/输出函数对应的声明:
//char *fgets(char *s, int size, FILE *stream); char *gets(char *s);
//读入字符串,fgets适合取代gets,因为gets无法限制读取字符的个数。gets是直接从标准输入读取。
cin.getline(srcSubStr,1024);
cin.getline(dstSubStr,1024);
replaceSubstr(str, srcSubStr, dstSubStr, out);
printf("%s\n", out);
system("pause");
return 0;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
2025-12-17 18:14
华南师范大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你最近因为什么迷茫? #
11894次浏览 188人参与
# AI coding的好用工具分享 #
3600次浏览 103人参与
# 上班以后,你还有哪些坚持的爱好? #
1800次浏览 53人参与
# 实习怎么做才有更好的产出 #
2404次浏览 76人参与
# 你都在哪些场所面过试? #
4633次浏览 80人参与
# 实习生工资多少才算正常? #
3874次浏览 84人参与
# 实习心态崩了 #
100614次浏览 515人参与
# 你给AI提过哪些离谱的需求? #
1793次浏览 73人参与
# 找工作以来,你最看不惯__ #
3021次浏览 73人参与
# 领导做过最不靠谱的事 #
4995次浏览 87人参与
# 哪些公司开春招了? #
2008次浏览 29人参与
# 你最希望上岸的公司是? #
181569次浏览 800人参与
# 你觉得第一学历对求职有影响吗? #
222329次浏览 1230人参与
# 刚入职就____,这样正常吗? #
124570次浏览 665人参与
# 秋招有哪些公司要求提前实习 #
102903次浏览 545人参与
# 非技术岗投递进展 #
166681次浏览 1317人参与
# 新年的第一句祝福 #
53648次浏览 389人参与
# 华子oc时间线 #
1408382次浏览 6994人参与
# 当发现同事想辞职 #
13656次浏览 47人参与
# 华为保温 #
169759次浏览 643人参与

哔哩哔哩公司福利 904人发布