Chinaunix首页 | 论坛 | 博客
  • 博客访问: 71492
  • 博文数量: 33
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 220
  • 用 户 组: 普通用户
  • 注册时间: 2014-07-15 22:22
文章分类

全部博文(33)

文章存档

2016年(3)

2015年(23)

2014年(7)

我的朋友

分类: C/C++

2014-09-28 00:04:56

      这次写有关调用OpenSSL大整数函数的东西的确走了不少弯路,明白了一句话,不要觉得自己的程序是完全正确的,尤其是像我现在的这种起步水平,给刚开始写又想走的快点的朋友们一个小小的建议,在写完之后,尤其是自己不太熟悉的函数语句的时候,编译运行出错改错一个方面(也不要太迷信vc的差错本领,我这次就栽在这上面),还有就是如果你程序本身函数使用错误的话vc给出的error也是不对的,所以直接拿本身就不对的错误搜解决方案根本就是在做无用功,所以要对照函数原型看看到底是不是你需要的函数有没有用错很重要我要是能静下心来想想这个不至于花这么长时间)


void CPracticeDlg::On_plus_Button1() 
{
// TODO: Add your control notification handler code here
    
    CString str1,str2,str3;
    char *p=NULL;
    char *p1,*p2;
    BIGNUM *new1=BN_new();   //注意变量声明
    BIGNUM *new2=BN_new();
    BIGNUM *re=BN_new();
    GetDlgItemText(IDC_EDIT1,str1);
    GetDlgItemText(IDC_EDIT2,str2);
    p1=(LPSTR)(LPCTSTR)str1;
    p2=(LPSTR)(LPCTSTR)str2;

    BN_dec2bn(&new1, p1);
    BN_dec2bn(&new2, p2);
    BN_add(re,new1,new2);    //将两个数相加
    BN_free (new1);BN_free(new2);
    p=BN_bn2dec(re);          //转化为10进制字符串,返回一个字符串指针
    BN_free (re);
    SetDlgItemText(IDC_EDIT3,p);
   OPENSSL_free(p);           //及时释放空间优化内存

}
这是bignum函数的用法比较齐全的。非常感谢!要不是有这个绝对晕菜
http://blog.csdn.net/wjj1987/article/details/6445092


阅读(751) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~