社区
C语言
帖子详情
用C语言怎样对一个文本文件的的若干字符进行查找并替换?
HR-TANG
2005-06-16 04:49:38
1.用C语言对一个文本文件中的若干字符(如在 CPRINTPROGRAM,HELPME 中找找HELP,并可以用别的字符来替换它)进行查找,并替换,并且在同一个文件中要查找并替换若干次不同的字符.
请尽量讲详细一些,最好有例题.
2.另外还有一个问题,就是把一个字符型数组转换成一个整型数或者是其它类型的数据.
谢谢各位高手指点:)
...全文
808
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()
使用
C语言
实现,将
若干
字符
串按照字母顺序输出 给出几个
字符
串,按照从小到大的顺序
进行
排序,并将排序结果显示在屏幕上
在
C语言
中实现
字符
串排序是
一个
常见的编程练习题,这通常需要我们对
字符
串处理和数组排序算法有较深入的理解。首先,我们需要掌握
字符
串在
C语言
中的存储方式,它是
一个
字符
数组,并以空
字符
'\0'作为结束标志。因此,...
c语言
文本编辑器系统源码.zip
在本资源"
C语言
文本编辑器系统源码.zip"中,我们获取到的是
一个
使用
C语言
编写的文本编辑器的完整源代码。
C语言
是计算机科学领域广泛应用的一种编程语言,以其高效、灵活和接近硬件的特点而闻名。这个项目可能是为了...
计算机等级考试二级C语言程序设计第10章
字符
串.ppt
字符
串在
C语言
中是
一个
重要的概念,它是由
一个
或多个
字符
组成的序列,以
字符
'\0'作为结束标志。虽然
C语言
本身没有专门的
字符
串类型,但是通过一维
字符
数组来实现
字符
串的存储。 10.1 用
一个
一维
字符
数组来存放
字符
...
c语言
经典案例
实例001 第
一个
C语言
程序 2 实例002
一个
完整的
C语言
程序 2 实例003 输出名言 3 实例004 用TC 2.0打开文件 4 实例005 计算正方形的周长 5 第2章 简单的C程序 6 实例006 输出
一个
正方形 7 实例007 输出
一个
三角形 8 ...
c语言
预处理命令及其用法
不带参数的宏定义简单地用
一个
标识符
替换
一个
字符
串,如`#define PI 3.1415926`,使得代码中的`PI`在编译时被
替换
为这个数值。带参数的宏定义允许参数化
替换
,如`#define MIN(a, b) (a ) ? a : b`,在编译时,`MIN(x...
C语言
70,034
社区成员
243,244
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章