16,473
社区成员
发帖
与我相关
我的任务
分享
#include "stdafx.h"
int CStringSplit(CString strs, CString sp,CStringArray &sitem)
{
int istar;
int iend,ilast;
istar=0;
ilast=0;
for(int i=0;;i++)
{
iend=strs.Find(sp,istar);
if(strs.Find(sp,istar)==-1)
{
sitem.Add(strs.Right(strs.GetLength()-ilast));
break;
}
sitem.Add(strs.Mid(istar,iend-istar));
ilast=iend+sp.GetLength();
istar=iend+sp.GetLength();
}
return 0;
}
void GET2(char*& rarr)
{
char* arr1="abcdefghijklmnopqrstuvwxyz";
char arr2[2000]={0};
for(int j=0;j<strlen(arr1);j++)
{
arr2[j]=arr1[j];
}
rarr=&arr2[0];
}
void GET1(char*& rchar)
{
CStringArray arrfff;CStringSplit("aba","a",arrfff);//加了这一句main输出乱码,不加这句,输出正常,
GET2(rchar);
}
int _tmain(int argc, _TCHAR* argv[])
{
char* gchar;
GET1(gchar);
printf(gchar);
return 0;
}
bool GetXmlNode(const char* xml,const char* node,char* result)
{
char starnode[30]={0};
char endnode[30]={0};
sprintf(starnode,"<%s>", node);
sprintf(endnode, "</%s>", node);
char * starchar=strstr((LPTSTR)xml,starnode);
if(starchar != NULL)
{
starchar += strlen(starnode);
char * endchar=strstr(starchar,endnode);
if(endchar != NULL)
{
memcpy(result,starchar,endchar-starchar);
result[endchar-starchar] = '\0';
}
else
{
return false;
}
}
else
{
return false;
}
return true;
}
CStringArray arrfff;CStringSplit("aba","a",arrfff);/
这句变量都是重新定义的
CStringArray arrfff;CStringSplit("aba","a",arrfff);
这句与其他代码没联系啊
很神奇吧