C语言文件中单词的查找与替换
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/04/24 13:22:48
C语言文件中单词的查找与替换
/*
功能:查找替换函数
返回值:替换后的字符串 strretu
*/
char *Replace(char *str,char *str1,char *str2,char *strretu)
{
char *str_temp = str; //源字符串
char *str1_temp = str1; //要求替换的字符串
char *str2_temp = str2; //替换成字符串
char *strretu_temp = NULL;//目标字符串
unsigned long char_size = (unsigned long)sizeof(char);
/*计算字符长度*/
unsigned long i,j,rep_acc = 0;
unsigned long str_len = strlen(str);
unsigned long str1_len = strlen(str1);
unsigned long str2_len = strlen(str2);
/*首先找出Str里有几个地方要被替换的*/
for(; str_temp - str < str_len; )
{
for(i = 0; i < str1_len; i++)
{
if(*str_temp++ != *str1_temp++)
{
str1_temp = str1;
break;
}
else
{
if(i == str1_len - 1)
{
str1_temp = str1;
rep_acc++;//找到了
}
}
}
}
str1_temp = str1;
str_temp = str;
/*分配所需内存*/
strretu = strretu_temp = malloc(((str_len - str1_len * rep_acc) + str2_len * rep_acc + 1) * char_size);
/*替换*/
for(; str_temp - str < str_len; )
{
for(i = 0; i < str1_len; i++)
{
*strretu_temp++ = *str_temp;
if(*str_temp++ != *str1_temp++)
{
str1_temp = str1;
break;
}
else
{
if(i == str1_len - 1)
{
strretu_temp = strretu_temp - str1_len;
for(i = 0; i < str2_len; i++)
{
*strretu_temp++ = *str2_temp++;
}
str2_temp = str2;
str1_temp = str1;
}
}
}
}
*strretu_temp = '\0';
str1_temp = str1;
str_temp = str;
str2_temp = str2;
return(strretu);
}
读取文件的,你就自己写了,这个查找替换
功能:查找替换函数
返回值:替换后的字符串 strretu
*/
char *Replace(char *str,char *str1,char *str2,char *strretu)
{
char *str_temp = str; //源字符串
char *str1_temp = str1; //要求替换的字符串
char *str2_temp = str2; //替换成字符串
char *strretu_temp = NULL;//目标字符串
unsigned long char_size = (unsigned long)sizeof(char);
/*计算字符长度*/
unsigned long i,j,rep_acc = 0;
unsigned long str_len = strlen(str);
unsigned long str1_len = strlen(str1);
unsigned long str2_len = strlen(str2);
/*首先找出Str里有几个地方要被替换的*/
for(; str_temp - str < str_len; )
{
for(i = 0; i < str1_len; i++)
{
if(*str_temp++ != *str1_temp++)
{
str1_temp = str1;
break;
}
else
{
if(i == str1_len - 1)
{
str1_temp = str1;
rep_acc++;//找到了
}
}
}
}
str1_temp = str1;
str_temp = str;
/*分配所需内存*/
strretu = strretu_temp = malloc(((str_len - str1_len * rep_acc) + str2_len * rep_acc + 1) * char_size);
/*替换*/
for(; str_temp - str < str_len; )
{
for(i = 0; i < str1_len; i++)
{
*strretu_temp++ = *str_temp;
if(*str_temp++ != *str1_temp++)
{
str1_temp = str1;
break;
}
else
{
if(i == str1_len - 1)
{
strretu_temp = strretu_temp - str1_len;
for(i = 0; i < str2_len; i++)
{
*strretu_temp++ = *str2_temp++;
}
str2_temp = str2;
str1_temp = str1;
}
}
}
}
*strretu_temp = '\0';
str1_temp = str1;
str_temp = str;
str2_temp = str2;
return(strretu);
}
读取文件的,你就自己写了,这个查找替换
C语言文件中单词的查找与替换
用c语言 查找英文句子中并替换某个单词
用C语言替换txt文件里的某一个单词怎么写,
Word中查找与替换 对文章中的英文加下划线 如何使相邻单词下划线连续
c 语言如何在文件中提取单词,并按照英文词典顺序排序输出到另外一个文件
C语言文件类题目的问题
1、 如何在计算机中查找文件?2、 通配符*和?分别代表什么?3、 查找所有以b字母开头的文件应该怎样查找
用word 查找替换功能,怎么将下文中的主要的单词字体加粗
查找语文文章中各种表达方式的语言特点与知识
word中,一篇文章有多个一样的词,我想把字体变大,以便查找,怎么用查找替换
word2003的查找、替换功能非常强大,下面的叙述中正确的是
如何用c语言在一组数中查找一个和已知数最接近的数值,像excel中的hlookup一样