随笔分类 -  C++类型转换

摘要:int to char* and char* to int//方法一(inttochar*)inti=5;charnum[16];memset(num,'\0',sizeof(num));sprintf(num,"%d",i)printf("%s",num);//5//方法二(inttochar*)//#include<stdlib.h>num[0]='\0';itoa(i,num,10);//按十进制转换inttochar*printf("%s",num);//5i=0;i=atoi(st 阅读全文
posted @ 2013-01-16 20:52 byfei 阅读(252) 评论(0) 推荐(0) 编辑
摘要:string to char*#include <string>int main(){ std::string s("foo"); const char* p = s.c_str(); char* q = const_cast<char*>(p);}char * to stringstring &assign(const char *s);用c类型字符串s赋值string &assign(const char *s,int n);用c字符串s开始的n个字符赋值#include <string>#include <io 阅读全文
posted @ 2012-08-09 21:11 byfei 阅读(285) 评论(0) 推荐(0) 编辑
摘要:#include <iostream>using namespace std;int GetIntCount(){int n=255; char Answer[8*sizeof(int)+1]; static int LEN=8*sizeof(int);for (int i = LEN - 1; i >= 0; i--, n >>= 1)Answer[i] = (01 & n) + '0';Answer[LEN] = '\0';string Str = Answer;int nCount=0;for(int i=0;i< 阅读全文
posted @ 2011-12-13 17:36 byfei 阅读(119) 评论(0) 推荐(0) 编辑
摘要:#include <iostream>using namespace std;char *ok(int n,char *b) { static int LEN=8*sizeof(int); for(int i=LEN-1;i>=0;i--,n>>=1) b[i]=(01&n)+'0'; b[LEN]='\0'; return b; } int GetIntCount(string b){int nCount=0;static int LEN=8*sizeof(int); for(int i=0;i<LEN;i++){i 阅读全文
posted @ 2011-12-13 14:56 byfei 阅读(144) 评论(0) 推荐(0) 编辑
摘要:#include <stdio.h>#include <string.h>void main(){long int i,len,sum=0;char str[30];printf("\n输入二进制数:\n");gets(str);len=strlen(str);for(i=len-1;i>=0;i--)sum+=(long)(str[i]-'0')<<(len-1-i);printf("%ld\n",sum);getchar();} 阅读全文
posted @ 2011-12-06 12:47 byfei 阅读(111) 评论(0) 推荐(0) 编辑
摘要:#include <iostream>using namespace std;void main(){enum{test1,test2,test3,test4};int i=test4;cout<<i<<endl;getchar();} 阅读全文
posted @ 2011-10-20 10:56 byfei 阅读(943) 评论(0) 推荐(0) 编辑
摘要:#include <iostream>using namespace std;char* Int2String(int nData){ char szBuffer[1024] = {0}; sprintf(szBuffer,"%d",nData ); return szBuffer;}void main(){ cout<<Int2String(4546)<<endl; getchar();} 阅读全文
posted @ 2011-10-19 23:50 byfei 阅读(166) 评论(0) 推荐(0) 编辑
摘要:#include <iostream>#include <stdio.h>using namespace std;void main(){string stc="123";int test1;sscanf(stc.c_str(),"%d", &test1);if(test1==123)cout<<test1<<endl;getchar();} 阅读全文
posted @ 2011-10-19 10:30 byfei 阅读(115) 评论(0) 推荐(0) 编辑
摘要:dynamic_cast < type-id > ( expression ) 该运算符把expression转换成type-id类型的对象。Type-id必须是类的指针、类的引用或者void *; 如果type-id是类指针类型,那么expression也必须是一个指针,如果type-id是一个引用,那么expression也必须是一个引用。 dynamic_cast主要用于类层次间的上行转换和下行转换,还可以用于类之间的交叉转换。 在类层次间进行上行转换时,dynamic_cast和static_cast的效果是一样的; 在进行下行转换时,dynamic_cast具有类型检查的 阅读全文
posted @ 2011-09-23 16:28 byfei 阅读(259) 评论(0) 推荐(0) 编辑