RSS订阅优然探索
你的位置:首页
未分类

CString,int,string,char*之间的转换

CString,int,string,char*之间的转换

 1 CString,int,string,char*之间的转换 
string 转 CString 
CString.format("%s", string.c_str()); 
char 转 CString 
CString.format("%s", char*); 
char 转 string 
string s(char *); 
string 转 char * 
char *p = string.c_str(); 
CString 转 string 
string s(CString.GetBuffer()); 
1,string -> CString 
CString.format("%s", string.c_str()); 
用c_str()确实比data()要好. 
2,char -> string 
string s(char *); 
你的只能初始化,在不是初始化的地方最好还是用assign(). 
3,CString -> string 
string s(CString.GetBuffer()); 
GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间. 

《C++标准函数库》中说的 
有三个函数可以将字符串的内容转换为字符数组和C—string 
1.data(),返回没有”\0“的字符串数组 
2,c_str(),返回有”\0“的字符串数组 
3,copy() 

CString互转int 
将字符转换为整数,可以使用atoi、_atoi64或atol。 
而将数字转换为CString变量,可以使用CString的Format函数。如 
CString s; 
int i = 64; 
s.Format("%d", i) 
Format函数的功能很强,值得你研究一下。 
void CStrDlg::OnButton1() 
{ 
// TODO: Add your control notification handler code here 
CString 
ss="1212.12"; 
int temp=atoi(ss); 
CString aa; 
aa.Format("%d",temp); 
AfxMessageBox("var is " + aa); 
} 
sart.Format("%s",buf); 
CString互转char* 
///char * TO cstring 
CString strtest; 
char * charpoint; 
charpoint="give string a value"; 
strtest=charpoint; 

///cstring TO char * 
charpoint=strtest.GetBuffer(strtest.GetLength()); 
标准C里没有string,char *==char []==string 
可以用CString.Format("%s",char *)这个方法来将char *转成CString。要把CString转成char *,用操作符(LPCSTR)CString就可以了。 

CString转换 char[100] 
char a[100]; 
CString str("aaaaaa"); 
strncpy(a,(LPCTSTR)str,sizeof(a)); 
2 CString类型的转换成int 
CString类型的转换成int 
将字符转换为整数,可以使用atoi、_atoi64或atol。 
//CString aaa = "16" ; 
//int int_chage = atoi((lpcstr)aaa) ; 

而将数字转换为CString变量,可以使用CString的Format函数。如 
CString s; 
int i = 64; 
s.Format("%d", i) 
Format函数的功能很强,值得你研究一下。 
如果是使用char数组,也可以使用sprintf函数。 
//CString ss="1212.12"; 
//int temp=atoi(ss); 
//CString aa; 
//aa.Format("%d",temp); 

数字->字符串除了用CString::Format,还有FormatV、sprintf和不需要借助于Afx的itoa 

3 char* 在装int 
#include <stdlib.h> 

int atoi(const char *nptr); 
long atol(const char *nptr); 
long long atoll(const char *nptr); 
long long atoq(const char *nptr); 

4 CString,int,string,char*之间的转换 
string aa("aaa"); 
char *c=aa.c_str(); 

cannot convert from 'const char *' to 'char *' 
const char *c=aa.c_str(); 

5 CString,int,string,char*之间的转换 
string.c_str()只能转换成const char *, 
要转成char *这样写: 
string mngName; 
char t[200]; memset(t,0,200); strcpy(t,mngName.c_str());

发布时间:2014年11月14日 标签:

未分类

c++数据库

c++数据库

 

(1)、引入ADO类

发布时间:2014年11月13日 标签:

未分类

C++读写文件

C++读写文件

 

在看C++编程思想中,每个练习基本都是使用ofstream,ifstream,fstream,以前粗略知道其用法和含义,在看了几位大牛的博文后,进行整理和总结:

发布时间:2014年11月10日 标签:

未分类

没有namespace C++竟然编译不过去

没有namespace C++竟然编译不过去

 没有namespace C++竟然编译不过去

发布时间:2014年11月7日 标签:

未分类

ASP.NET应用C++dll 返回字符串

ASP.NET应用C++dll 返回字符串

 

#include "sky_file.h"
#include <iostream> 
#include <fstream> 
#include <string> 
#include <vector> 
#include <ios> 
#include <windows.h> 

发布时间:2014年11月7日 标签:

asp.net安全

ASP.NET引用C++的DLL

ASP.NET引用C++的DLL

 

发布时间:2014年11月7日 标签:

未分类

Reflector 仅仅是反编译出源码给你看,并不能在修改后编译回去。

Reflector 仅仅是反编译出源码给你看,并不能在修改后编译回去。

 

反编译的方式有很多种,其实最靠谱的还是IL反编译

发布时间:2014年11月5日 标签:

asp.net安全

介绍一下我眼中的四大神器:De4Dot、Reflector、Reflexil以及DILE

介绍一下我眼中的四大神器:De4Dot、Reflector、Reflexil以及DILE

 


       原本这篇文章可以更早一星期写出来与大家分享,由于某方面的原因耽搁到现在,心里竟有那么一点好像对不住大家的感觉。这当然与神器有关,因为我发现利用这四大神器我似乎觉得几乎所有的NET程序破解都不在话下了。而我竟然在发现这神器组合后推迟了一周才分享与大家!
       在开始分享之前,还是要说明一点,说是神器到目前为止也仅仅是对我自己而言,至于这四大神器会不会成为对各位而言的神器就不得而言了,因此当有哪位亲拿到这四大神器后仍然感到破解NET程序存在很大困难,请拍砖。
       先介绍一下我眼中的四大神器:De4Dot、Reflector、Reflexil以及DILE.其中
       De4Dot是一个开源的脱壳/反混淆工具,结识到神器工具我要感谢论坛里的朋友wan,他在我的处女新手贴” [原创]新手破解.NET程序”中提到了这个工具,而这款工具被我奉为了神器级工具。因为它的脱壳能力的确很强,使用它我成功地脱掉了Dotfuscator、MaxToCode处理过的程序,至于其它的加壳/反混淆工具比如说Xenocode、ThemIDA等我还没有进行过实验,之后我将计划研究各类加壳/反混淆工具的脱壳方法,我深信De4Dot能够给我带来巨大帮助。(由于De4Dot是开源的,我相信即便De4Dot暂时处理不了的壳通过扩展其功能必将能解决)
        Reflector这个功能强大的NET反编译工具相信大家都是很熟悉的,这个工具是我在没有开始学破解之前(大概6个月之前我才开始涉足破解逆向领域)唯一熟知的破解方面的工具。而现在的Reflector的功能更加强大了,不仅仅其自身的功能在增强,而且其强大的插件系统也扩充了其功能,下面提到的Reflexil便是它其中的一个插件。
Reflexil是Reflector中的一个插件,也是开源的,它可以从IL和C#高级语言两个层次对目标程序的代码进行修改/注入。认识到这个工具无疑使我十分震惊,因为在我开始学NET破解的时候经常担心不能像在OD里那样直接修改汇编代码一样来通过修改IL或C#代码来改变NET程序的流程逻辑,如果是这样子那么我学习NET破解的方法将受到极大地限制。而Reflexil的存在完全消除了我这方面的担忧,即便在某些地方不能从C#对目标程序进行修改,那么我总可以在IL代码级别上来修改!
DILE则是一款调试工具,全称Dotnet IL Editor,尽管现在它还没有完全开源但相信在不久的将来也将会在sf上开源。其实一开始我并不想把它放入我的神器之列。有两方面的原因:第一是我比较擅长也倾向于静态分析,能够静态分析完成的我几乎不会去用动态调试法,看过我的处女贴的朋友应该可以看出来我破解的第一款软件中根本就没有用到调试工具;第二尽管静态分析是我的强项,但这并不意味着我不需要一款调试工具,如果大家百度或者Google一下会发现有很多文章在讲Reflexil与Deblector并称他们为神器,而Deblector就是Reflector下的一个调试工具,所以一开始我很希望将Deblector作为我调试方面的神器工具,但是我最终没能把这个工具使用起来,网上的文章都在讲Deblector启动开始调试之后会断在程序的入口处,但我下载了它的几个版本,都没有达到这个效果,它并没有在入口处断下来,而是嗖嗖地直接弹出了程序的主界面。
       光说不练,很难让人相信这可以作为神器工具的强大之处,下面就以我实际破解案例来展示一下这四大神器的威力。
       要破解的这款软件的是青鸟QQ群发大师,其软件组成如下截图:


发布时间:2014年11月5日 标签:

作品展示

系统升级多文件带进度上传新功能

系统升级多文件带进度上传新功能

 

系统升级多文件带进度上传新功能

发布时间:2014年10月29日 标签:

未分类

山东工业技师学院要求

山东工业技师学院要求

 1、 班级隶属的专业可以调整。
2、 班级隶属的院系可以调整。
3、 教师隶属的院系可以调整。

发布时间:2014年10月22日 标签:

«111213141516171819202122232425»
控制面板
您好,欢迎到访网站!
  [查看权限]
网站分类
搜索
最新留言
网站收藏
友情链接
图标汇集