- #include "stdafx.h"
- 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;
- }