| 20楼#发布于:2002-08-15 14:31 
					LPTSTR Replacestr(LPTSTR Stringlist,LPTSTR Matchstring,LPTSTR Replacestring)
 { //TCHAR szBuffer[BUFSIZE]; // 假定已经赋值了 LPTSTR SrcString = Stringlist; LPCTSTR pp = Matchstring;// 要替换的 LPCTSTR ll = Replacestring;// 替换成nchar while (*SrcString != \'\\0\') //没有到末尾 { if (*SrcString == *pp) { *SrcString = *ll; break; } SrcString++; // 指向下个字符 } MessageBox(NULL,Stringlist,\"gotit\",MB_OK); return Stringlist; } 我稍微修改了一下你的程序,却发现它什么都没有做:( | |
| 
 | 
| 21楼#发布于:2002-08-15 14:35 
					这一条判断语句是无效的
 if (*SrcString == *pp) | |
| 
 | 
| 22楼#发布于:2002-08-15 14:44 
					faint,我晕了。。。。这。。这。。这。。
 看c语言的书,一定会对你有很大的帮助的。 分清楚char和char string | |
| 23楼#发布于:2002-08-15 15:08 
					这是我在C下改的,运行通过,你对照着把char等类型换成TCHAR吧
 #define BUFSIZE 256 #include\"windows.h\" #include\"stdio.h\" void Replacestr(char * Stringlist,char * Replacechar,char * Mchar,char * replaced) { //replaced为替换以后的字符串 char newBuffer[BUFSIZE+1]; // buffer for string int i=0; int j=0; char temp[100]; memset(temp,0,sizeof(temp)); memset(newBuffer,0,BUFSIZE+1); for( i=0;j<BUFSIZE&&Stringlist!=0;i++ )//注意是<而不是<= { strncpy(temp,&Stringlist,strlen(Mchar));//注意这里有i, //Stringlist(i),我的怎么又显示不出来了 if(strcmp(temp,Mchar)==0)//匹配成功 { strcat(newBuffer,Replacechar); j+=strlen(Replacechar); i+=strlen(Mchar); } else { newBuffer[j++] = Stringlist; } } //return newBuffer; strcpy(replaced,newBuffer); ///MessageBox(NULL,Stringlist,\"gotit\",MB_OK); } void main() { char sourcechar[200]; char replaced[BUFSIZE+1]; memset(replaced,0,sizeof(replaced)); memset(sourcechar,0,sizeof(sourcechar)); strcpy(sourcechar,\"this a dog\"); Replacestr(sourcechar,\"this is \" ,\"this\",replaced); printf(\"%s\",replaced); } 运行输出结果是 this is a dog 你可以用其他的验证一下,好像没什么问题,不过一定注意缓冲区长度,避免溢出 你要多看看C,多练练手,这些都很基本 :D [编辑 - 8/15/02 by trent] [编辑 - 8/15/02 by trent] | |
| 
 | 
| 24楼#发布于:2002-08-15 15:26 
					多谢了,无论如何我以后不问这种问题了。				 | |
| 
 | 
| 25楼#发布于:2002-08-15 15:30 
					问问周围的人就可以解决的。  ;)				 | |
| 26楼#发布于:2002-08-15 15:41 多谢了,无论如何我以后不问这种问题了。 问问题是一个很重要的获取知识的手段,不过要系统的提高自己,还是要看书的,还要多练练,我没别的意思。而且建议多读读别人的代码有好处的 :D :D | |
| 
 | 
上一页
下一页
 
			
			
						
			
			
						
			
		 
							
 
				
 
				