• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 分不够再加,没有人能解决吗?(_bstr_t和char的转化)

分不够再加,没有人能解决吗?(_bstr_t和char的转化)

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了 分不够再加,没有人能解决吗?(_bstr_t和char的转化)等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 分不够再加,没有人能解决吗?(_bstr_t和char的转化)
描述:

我这个程序里面用的是capicom,要传进去的是_bstr_t,所以要将char转化为这个类型,
我准备读一个文件,char转化为->_bstr_t中间处理(这里程序里我没有加上)以后转化为char再写文件,不知道是我读文件方法有误还是转化有问题,我读出来的东西总是有问题,所以我作了个试验:将我读出来的东西再写进去都不能得到一模一样的,所以我想在此请高手给个1、读写文件(尤其是大文件)的方法;2、char * 与_bstr_t的转化方法:
我的程序如下:
_bstr_t srcFileContent;           //源文件内容
_bstr_t srcFileName;              //源文件名称
_bstr_t desFileName;              //目标文件名称
_bstr_t signedData;               //签名结果
         CHAR pszBuffer[BUFFER_SIZE]; //读取文件的缓冲区
memset(pszBuffer,0,BUFFER_SIZE);
DWORD dwBytesRead = 0;
DWORD dwWritten = 0;
FILE *hSourceFile = NULL;  //源文件句柄
FILE *hSignedFile = NULL;  //目标文件句柄
dwBytesRead = fread(pszBuffer,sizeof*pbstrDesFileName = NULL;
try 
{
    srcFileContent = _bstr_t();           
    srcFileName = _bstr_t(bstrSrcFileName,TRUE);
    desFileName = _bstr_t(bstrSrcFileName,TRUE)+".sig";
               
     //读文件内容    
     if( (hSourceFile = fopen((const char*)srcFileName,"r+t")) == NULL)
     {
hr = Error(_T("文件打开失败!"));
     }
     do 
     {
                   dwBytesRead = fread(pszBuffer,sizeof(CHAR),BUFFER_SIZE,hSourceFile);
 if (ferror(hSourceFile))
 {
               hr = Error(_T("读文件出错!"));
 }
 srcFileContent += pszBuffer;
      } while(!feof(hSourceFile));
      if (hSourceFile)
 fclose(hSourceFile);
//这里中间是处理别的东西的程序,不是我想请教的重点
//存放签名结果的文件名称
if( (hSignedFile = fopen((const char*)desFileName,"w+t")) == NULL)
{
       hr = Error(_T("文件打开失败!"));
}
else
       dwWritten = fwrite((const char*)srcFileContent,sizeof(CHAR),srcFileContent.length(),hSignedFile);//写文件
这里srcFileContent是将char转化得到的结果,这里我作了极端的处理:将srcFileContent再次写入另一个文件(该文件的名字后面加上.sig),照理应该得到一模一样的结果,然而得到的文件却不是,我就想请教高手我这里是因为读写文件有问题还是_bstr_t与char *的转化有问题?
回答我这个问题的同志我真的非常感谢,因为这个问题是困扰我好久的问题,你是高手,你来年一定交桃花运:)
我的QQ:8456267
MSN:mxm_cfca@hotmail.com


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 分不够再加,没有人能解决吗?(_bstr_t和char的转化)

相关文章

  • 2017-06-05 vc++如何将一个word文档里的特定文字替换成其他文字?
  • 2017-06-05 请问如何在界面线程里定时?
  • 2017-06-04 关于IE中windowless控件的重绘问题
  • 2017-06-04 请教诸位高手
  • 2017-06-04 _ConnectionPtr,到底是什么东西?
  • 2017-06-04 vs2015中MicrosoftVsHubServerHttpHostexe进程干什么用的?
  • 2017-06-05 VC串口编程的障碍,求各位大神指点?
  • 2017-06-04 用ATL建立一个IE上的ToolBar,怎样添加一些Buttons,怎样添加一个ComboBox?
  • 2017-06-05 如何在同一个网页中,通过一个activex控件,调用或者控制另一个activex控件
  • 2017-06-04 如何捕获浏览器滚动条事件的消息?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • ShockwaveFlash控件右键菜单的疑问!!!
    • 简单的多线程问题?(内含多个问题)
    • 关于windows核心编程的一个问题!
    • mkdir创建文件夹后 用SHFILEOPSTRUCT为什么不能删除此文件夹???
    • 如何在多线程中使用我的类实例?
    • ATL写的DLL控件无法被IE下载安装
    • mscomm控件会不会自己发送一些数据?
    • WindowsMediaPlayer编程
    • GetCurrentDirectory对于win2k和winxp得到的结果是不是不同啊?
    • 类型库A引用类型库B,结果最后类型库B中相关内容就出现在A中了

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有