using namespace std;
//--------字符替代问题
char* Translate(char* pSrc, const char cFindChar, const char* pReplaceStr, char* pTag)
{
char* p = NULL ;
int lLen = (int)strlen (pReplaceStr) ;
for (p = pSrc; *p!='\0'; p++)
{
if (cFindChar == *p)
{
strcpy(pTag, pReplaceStr) ;
pTag += lLen ;
}
else
{
*pTag++ = *p;
}
}
return pTag;
}
//--------字符串转换为整数
int myAtoi(const char* s){
int result = 0;
int flag = 1;
int i = 0;
while(isspace(s[i]))
i++;
if(s[i] == '-'){
flag = -1;
i++;
}
if(s[i] == '+')
i++;
while(s[i] != '\0'){
if((s[i] > '9') || (s[i] < '0'))
break;
int j = s[i] - '0';
result = 10 * result + j;
i++;
}
result = result * flag;
return result;
}
//--------整数转换为字符串
void itoa (int n,char s[])
{
int i,j,sign;
if((sign=n)<0)//记录符号
n=-n;//使n成为正数
i=0;
do{
s[i++]=n%10+'0';//取下一个数字
}while ((n/=10)>0);//删除该数字
if(sign<0)
s[i++]='-';
s[i]='\0';
for(j=i;j>=0;j--)//生成的数字是逆序的,所以要逆序输出
printf("%c",s[j]);
printf("\n");
}
int _tmain(int argc, _TCHAR* argv[])
{
//--------Translate----------
char szSrc[] = "Hello Word!" ;
char szTag[256]= {0};
char szRep[] ="(***)";
char result[256] = {0};
Translate(szSrc,'o',szRep,szTag);
for(unsigned int i=0;i<strlen(szTag);i++) result[i] = szTag[i];
printf("%s\n",szTag);
printf("%s\n",result);
//-----------------------
int i = atoi(" -321" );
printf("%d\n",i);
char ch[256]={0};
itoa(-23456, ch);
return 0;
}