社区
C语言
帖子详情
怎样从一个字符串里面找到特定的单词,然后用别的单词取代?用c语言实现!!!
tohy
2003-06-01 04:28:21
谢谢
...全文
546
10
打赏
收藏
怎样从一个字符串里面找到特定的单词,然后用别的单词取代?用c语言实现!!!
谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
windbells
2003-06-02
打赏
举报
回复
给你个建议
1、比较查找字符串和替换字符串的长度,如果替换字符串的长度小于查找字符串的话
执行第一便扫描,匹配算法可以采用改进后的Boyer-Moore-Horspool算法,要比strstr()函数快上5~7倍,找到后直接替换,多出的长度部分用特殊字符填充,替换完成后,如果前一步有发现则执行最后一边扫描,用指针交替移动的方法,遇到特殊字符,把后面的向前填充.
2、如果相等的话,少了前一步的最后扫描工作。
3、如果长度比要查找的大,第一遍扫描记下找到的个数,位置,然后计算出替换后字符串的总长,然后申请需要的空间,根据找到的位置构造新的字符串。原有的字符串空间释放。
(参数传递可以采用引用指针方式,返回时直接替换掉源字符串指针值,防止访问源字符串指针报错)
arfi
2003-06-02
打赏
举报
回复
#include <stdio.h>
#include <string.h>
void back(char *str, int len)
{
char *p = str;
while(*p++);
for(;p>=str;p--)
*(p+len) = *p;
}
char *replace(char *sour, char *findstr, char *replstr)
{
char *p;
int flen, rlen;
flen = strlen(findstr);
rlen = strlen(replstr);
while(1)
{
p = strstr(sour, findstr);
if(p == NULL)
break;
if(flen > rlen)
{
strcpy(p, replstr);
p += rlen;
strcpy(p, p+(flen-rlen));
}
else if(flen < rlen)
{
back(p+flen, rlen-flen);
memcpy(p, replstr, rlen);
p += rlen;
}
else
{
memcpy(p, replstr, rlen);
p += rlen;
}
}
return sour;
}
void main(void)
{
char sour[80] = "hello world, who are you?";
replace(sour, "world", "earth");
printf("%s\n", sour);
}
tohy
2003-06-02
打赏
举报
回复
关注!
witcheese
2003-06-02
打赏
举报
回复
1
wahao
2003-06-01
打赏
举报
回复
我为了它忙了一个星期了
可是……
我好伤心
tohy
2003-06-01
打赏
举报
回复
好象不行也!!
TripleX
2003-06-01
打赏
举报
回复
用正则表达式库吧 可以着很多意想不到的字符串处理 :)
hillyee
2003-06-01
打赏
举报
回复
关注
windbells
2003-06-01
打赏
举报
回复
source为源字符串,findstr为需要查找被替换的字符,replacestr为替换字符
char *replace(char *source,char *findstr,char *replacestr)
{
char *p=strstr(source,findstr);
int len;
int flen;
int rlen;
if(p)
{
int pos=p-source;
flen=strlen(findstr);
rlen=strlen(replacestr);
if(flen>=rlen)
{
memcpy(&source[pos],replacestr,rlen);
if(flen>rlen)
{
strcpy(&source[pos+rlen],&source[pos+flen]);
}
return source;
}
else
{
int len = strlen(source);
char *szStr = new char[len+rlen-flen+1];
memset(szStr,0,len+rlen-flen+1);
memcpy(szStr,source,pos);
memcpy(&szStr[pos],replacestr,rlen);
strcat(szStr,p+flen);
delete []source;
return szStr;
}
}
return NULL;
}
zalyer
2003-06-01
打赏
举报
回复
c语言有一个函数可以搜索子串,并返回它的位置,然后替换就可以了。
汽车电子48V低压电网架构技术演进:智能电动化背景下高功率负载供电系统设计与产业化落地路径研究
内容概要:本文系统阐述了48V低压电网架构在智能电动汽车发展背景下的技术必然性与产业化路径。随着高阶辅助驾驶、线控底盘、沉浸式座舱等功能对电力需求激增,传统12V电网面临功率密度不足、能效低下、扩展受限等瓶颈,而48V电网凭借更高的功率承载能力(可达5-6kW持续负载)、更低的电流损耗(电流为12V系统的1/4)、更高的传输效率(>95%)以及良好的兼容性,成为支撑“软件定义汽车”的关键基础设施。文章详细分析了48V架构的三种落地路径:高端纯电车型首发、48V+12V混合组网过渡、未来向全48V架构演进,并强调eFuse等智能化配电技术的融合将提升安全性与系统集成度。同时指出该技术将引发产业生态变革,推动芯片、电池、配电模块等供应链重构,倒逼车企提升能量管理与软件定义能力。; 适合人群:汽车电子工程师、整车厂研发人员、零部件供应商技术人员、芯片与电源管理系统开发者、汽车行业战略规划与投资分析人员。; 使用场景及目标:①理解48V电网
取代
12V系统的底层逻辑与技术优势;②掌握48V架构的典型实施方案与产业化节奏;③洞察其对汽车电子电气架构(EEA)升级、软硬件协同及产业链布局的影响;④为技术研发、产品规划与投资决策提供参考。; 阅读建议:此白皮书兼具技术深度与产业视野,建议结合实际项目需求重点关注不同阶段的技术选型策略、核心组件国产化进展及标准化动态,同时关注SOA架构与功能安全在新型电力系统中的应用实践。
zhanhujulishi__29848_1770217085221.zip
zhanhujulishi__29848_1770217085221.zip
oak-ZA_videoEncode--DeEncode_3636_1770212492297.zip
oak-ZA_videoEncode--DeEncode_3636_1770212492297.zip
VSCode超级强大,比SourceInSight强千倍
源码下载地址: https://pan.quark.cn/s/a4b39357ea24 【Visual Studio Code(VSCode)——新一代编程利器】Visual Studio Code,简称VSCode,是由微软所研发的一款免费、开源的源代码编辑器。它凭借其高效、轻量级且功能强大的特点,逐步成为全球开发者所青睐的编辑工具,甚至被赞誉为超越Source Insight千倍的神器。接下来将具体阐述VSCode的一些核心功能与优势。一、跨平台支持VSCode能够兼容Windows、macOS以及Linux等主流操作系统,无论你处于何种工作环境,都可以
实现
无缝切换,确保开发的一致性。二、内置Git集成VSCode内嵌了Git版本控制系统,可以直接在编辑器界面进行提交、推送、拉取等操作,无需离开编辑器即可管理代码仓库,显著提升了开发效率。三、丰富的扩展市场VSCode配备了
一个
庞大的扩展市场,包含了各种语言的语法高亮、代码片段、调试工具、主题等插件,可以根据个人需求对编辑器进行个性化定制,例如安装Prettier
实现
代码格式化,或安装ESLint执行代码检查。四、强大的代码智能提示与补全VSCode提供了智能代码提示和自动补全功能,对于JavaScript、TypeScript、Python、C#等语言的支持尤为卓越。它能洞察项目上下文,提供精准的函数、变量建议,从而减少编码错误。五、内置调试器VSCode内置的调试器兼容多种编程语言,支持设置断点、查看变量值、单步执行等操作,使得调试过程直观且高效。六、多语言支持VSCode支持几乎所有编程语言,包括但不限于JavaScript、Python、Java、C++、C#、Go、PHP等,并且通过安装相应的语言扩...
MATLAB智能算法工具箱与数学建模实战案例库_遗传算法免疫算法退火算法粒子群算法鱼群算法蚁群算法神经网络算法等七类核心智能优化与机器学习算法的完整MATLAB
实现
代码包附带详细应.zip
MATLAB智能算法工具箱与数学建模实战案例库_遗传算法免疫算法退火算法粒子群算法鱼群算法蚁群算法神经网络算法等七类核心智能优化与机器学习算法的完整MATLAB
实现
代码包附带详细应.zip
C语言
70,040
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章