社区
C语言
帖子详情
用C语言怎样对一个文本文件的的若干字符进行查找并替换?
HR-TANG
2005-06-16 04:49:38
1.用C语言对一个文本文件中的若干字符(如在 CPRINTPROGRAM,HELPME 中找找HELP,并可以用别的字符来替换它)进行查找,并替换,并且在同一个文件中要查找并替换若干次不同的字符.
请尽量讲详细一些,最好有例题.
2.另外还有一个问题,就是把一个字符型数组转换成一个整型数或者是其它类型的数据.
谢谢各位高手指点:)
...全文
816
13
打赏
收藏
用C语言怎样对一个文本文件的的若干字符进行查找并替换?
1.用C语言对一个文本文件中的若干字符(如在 CPRINTPROGRAM,HELPME 中找找HELP,并可以用别的字符来替换它)进行查找,并替换,并且在同一个文件中要查找并替换若干次不同的字符. 请尽量讲详细一些,最好有例题. 2.另外还有一个问题,就是把一个字符型数组转换成一个整型数或者是其它类型的数据. 谢谢各位高手指点:)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jixingzhong
2005-06-18
打赏
举报
回复
字符型数组转换成一个整型数
atoi()
其它类型的数据: float--------atof()
总之,使用相应的库函数就可以了
gogdo
2005-06-18
打赏
举报
回复
当然先要从数组里读入啦!
HR-TANG
2005-06-18
打赏
举报
回复
从字符串中搜索字符的函数:strchr()---------返回的是什么值啊?
从字符串中搜索字符串的函数:strstr()-------返回的是什么值啊?
是不是得先把文本文件中的内容读到一个数组中才能够进行操作啊?
heguosheng
2005-06-18
打赏
举报
回复
mark
holymoon858
2005-06-18
打赏
举报
回复
对文本文件的替换处理一般有两种方法:
1. 对小文件,读入整个文件内容到字符串,然后使用上述方法;
2. 对大文件,可以使用临时文件的方法,具体的处理又有很多方式,可以自己思考思考。
HR-TANG
2005-06-17
打赏
举报
回复
自么没有人给解答一下啊!
自已帮忙顶一下.
younggundog
2005-06-17
打赏
举报
回复
//未用库函数.
#include <iostream>
using namespace std;
int StrLen(const char *chSrc)
{
int iLen = 0;
const char *pch = chSrc;
while (*pch++ != '\0')
{
iLen++;
}
return iLen;
}
char *FindFirstStr(char *chDest, const char *chSrc)
{
char *pchDest = chDest;
const char *pchSrc = chSrc;
int iIndex = 0;
int iSrcSize = StrLen(chSrc);
while ((pchSrc!=NULL) && (pchDest!=NULL) && (iSrcSize > iIndex))
{
if ((*pchSrc++) != (*pchDest++))
break;
iIndex++;
}
return iSrcSize == iIndex ? (pchDest-iIndex) : NULL;
}
char *RePlace(char *chDest, const char *chSrc, int size)
{
char *pchDest = chDest;
const char *pchSrc = chSrc;
char *ptemp = NULL;
int iSrcSize = StrLen(pchSrc);
int iDestSize = StrLen(pchDest);
if (iSrcSize > size)//先向后一.
{
pchDest += iDestSize + iSrcSize - size;
ptemp = chDest + iDestSize;
while (iDestSize)
{
*pchDest-- = *ptemp--;
// *pchDest = *(pchDest-1);
// pchDest--;
iDestSize--;
}
}
else
if (iSrcSize <size)
{
pchDest += iSrcSize;
while (*pchDest!='\0')
{
*pchDest = *(pchDest+1);
pchDest++;
}
}
pchDest = chDest;
while (*pchSrc != '\0')
{
*pchDest++ = *pchSrc++;
}
return chDest;
}
int main(int k, char *t[])
{
char chStr[100];
char chFindStr[10];
char chReplaceStr[10];
char *pchFind = NULL;
char *pch = chStr;
int iSize = 0;
cout << "please input the Src str:" << endl;
cin >> chStr;
cout << "please input the Find str:" << endl;
cin >> chFindStr;
cout << "please input the replace str:" << endl;
cin >> chReplaceStr;
iSize = StrLen(chStr);
chStr[iSize] = '\0';
iSize = StrLen(chFindStr);
chFindStr[iSize] = '\0';
iSize = StrLen(chReplaceStr);
chReplaceStr[iSize] = '\0';
while (*pch != '\0')
{
pchFind = FindFirstStr(pch, chFindStr);
if (pchFind != NULL)
{
int iSize = strlen(chFindStr);
RePlace(pchFind, chReplaceStr,iSize);
cout << chStr <<endl;
pch = chStr;
}
pch++;
}
cout << "result:" <<endl;
cout << chStr <<endl;
return 0;
}
holymoon858
2005-06-17
打赏
举报
回复
从字符串中搜索字符的函数:strchr()
从字符串中搜索字符串的函数:strstr()
对于替换的工作就要自己去完成,如"abcd123efg"中把"123"替换成"xxxx",先用strstr()找到"123"字符串在源字符串中开始的位置,然后把"efg"字符串往后拷贝一位,可以使用memmove(),再使用memcpy()把"xxxx"拷贝到"123"开始的位置;对"123"替换成"xx"的情况,就把"efg"字符串往前拷贝一位,然后把"xx"拷贝到"123"开始的位置;"123"替换成"123"的情况,应该不用我说了;
对存在多个搜索字符串的情况,如"abcd123efg123kdi"的,对上述工作做循环处理即可。
HR-TANG
2005-06-16
打赏
举报
回复
能不能给详细一点,讲个例题吧!谢了!
hofer_song
2005-06-16
打赏
举报
回复
strcat();strncat();
strcmp();strncmp();
strcpy();strncpy();
HR-TANG
2005-06-16
打赏
举报
回复
字符串数组类型转换已搞定,请各位介绍一下文本的查找和替换,谢谢匪徒:)
HR-TANG
2005-06-16
打赏
举报
回复
能不能写详细一些!
这个函数在哪个头文件里面啊
zhousqy
2005-06-16
打赏
举报
回复
atoi()
基于改进YOLOv8模型构建的艺术作品风格智能识别与检测系统源码分享_项目极简说明本项目是
一个
集成了先进计算机视觉技术的艺术作品风格自动化识别与分析系统它利用深度学习算法对62.zip
基于改进YOLOv8模型构建的艺术作品风格智能识别与检测系统源码分享_项目极简说明本项目是
一个
集成了先进计算机视觉技术的艺术作品风格自动化识别与分析系统它利用深度学习算法对62.zip
Kolr-2025AI行销趋势报告书
Kolr-2025AI行销趋势报告书
(87页PPT)DG西门子制造业智能化制造实施方案P87.pptx
(87页PPT)DG西门子制造业智能化制造实施方案P87.pptx
基于目标级联法的微网群多主体分布式优化调度(Matlab代码实现)
基于目标级联法的微网群多主体分布式优化调度(Matlab代码实现)内容概要:本文介绍了基于目标级联法(Analytical Target Cascading, ATC)的微网群多主体分布式优化调度方法,并提供了相应的Matlab代码实现。该方法将微网群系统分解为多个相互关联的子系统,通过协调各子系统的局部优化目标来实现全局优化,适用于包含多种分布式能源、储能装置和负荷的复杂微网群系统。文中详细阐述了ATC的数学模型构建、分解协调机制、收敛性处理及迭代优化过程,强调了其在保护各微网主体独立性和隐私性的同时,实现整体运行经济性与稳定性的优势。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及从事微电网、综合能源系统优化调度的工程技术人员。; 使用场景及目标:①用于研究多微网系统在分布式架构下的协调优化调度问题;②解决传统集中式调度带来的计算负担重、隐私泄露风险高等问题;③实现微网群运行成本最小化、可再生能源消纳最大化及系统稳定性提升等多重目标; 阅读建议:建议读者结合Matlab代码深入理解目标级联法的迭代流程与变量传递机制,重点关注子问题分解策略与一致性约束的处理方式,并可通过修改系统参数或引入新的约束条件
进行
扩展性实验。
TimeSformer-main项目(针对CVAT标注版本)
TimeSformer-main项目(针对CVAT标注版本),此文件已修改,有针对CVAT标注后的视频
进行
训练的功能,整理备忘
C语言
70,038
社区成员
243,244
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章