| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 497 人关注过本帖
标题:内存不能读
取消只看楼主 加入收藏
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
结帖率:98.26%
收藏
已结贴  问题点数:20 回复次数:0 
内存不能读
#define LONG 100
int integer_1,integer_2;
void ReplaceString(char*source,char*text,char*result);
void RemoveString(char*source_1,char*result_1,int l);
int FindString(char*source_1,char*text_1);
#include<stdlib.h>
#include<string.h>
#include<stdio.h>
main()
{
char buf_1[LONG],buf_2[LONG],buf_3[LONG];
gets(buf_1);
gets(buf_2);
gets(buf_3);
integer_1=strlen(buf_1),integer_2=strlen(buf_2);
ReplaceString(buf_1,buf_2,buf_3);
return 0;
}
void ReplaceString(char*source,char *text,char*result)
{
int l;
l=FindString(source,text);
if(l==-1)
exit(1);
RemoveString(source,result,l);
}
int FindString(char *source_1,char*text_1)
{
int i,j=0,lomp=0;
for(i=0;i<integer_1;i++){
if(*(source_1+i)==*(text_1+j))
j++;
else
j=0;
if(j==integer_2){
lomp=1;
break;
}
}
if(lomp==1)
return i;
else
return -1;
}
void RemoveString(char*source_1,char*result_1,int l)
{
char *message;
message=(char*)malloc(l);
strncpy(message,source_1,l);
*(message+l)='\0';
message=(char*)realloc(message,strlen(message)+strlen(result_1)+1);
strcat(message,result_1);
message=(char*)realloc(message,strlen(message)+integer_1-integer_2-l+1);
strcat(message,source_1+l+integer_2);
free(message);
puts(message);
}
为什么这个程序会导致内存不能够读呢?
搜索更多相关主题的帖子: 内存 
2009-11-18 12:01
快速回复:内存不能读
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015332 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved