• 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 > 在ATL工程中如何从文本文件读取数据?

在ATL工程中如何从文本文件读取数据?

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

佚名通过本文主要向大家介绍了atl工程,atl项目工程师,atl,atl71.dll,atl100.dll下载等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 在ATL工程中如何从文本文件读取数据?
描述:

我使用ATL开发一个组件,没有使用MFC的支持,这个组件需要从文本文件里面读取数据,在C++中可以使用流类 ifstream,但是在ATL工程中间为什么不行啊?编译的时候会报错:
error C2872: 'ifstream' : ambiguous symbol
我已经把fstream.h, iostream.h都包括进去了,是不是在ATL中不能使用这个类,还有什么办法从文件中读取数据?我这个工程没有使用MFC支持啊,不会要我用C的文件处理吧?
各位大侠,帮忙看看


解决方案1:

即然用了com,就该用IPersistStreamInit,IStream

解决方案2:

楼上,我怎么没发现在ATL里还有CAtlFile这个包装类?
好像ATL里没有这样一个类吧!!
我建议楼主自己用API封装一个.

解决方案3:

楼上仔细找找, 俺用了这么长时间,莫非我用的 ATL 是微软特别版?

解决方案4:

CAtlFile file;
char *buffer=new char[(DWORD)pFile->GetFileSize()+1];
HRESULT hr=file.Create(_T("C:\test.txt"),GENERIC_READ, FILE_SHARE_READ,
OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN );
if(FAILED(hr))
{
delete[] buffer;
return FALSE;
}
DWORD Bsize,old=(DWORD)pFile->GetFileSize();
hr=file.Read(buffer,old,Bsize);
if(FAILED(hr)){
delete[] buffer;
return FALSE
}
buffer[Bsize]=0;
// buffer 存储文件内容
delete[] buffer;

解决方案5:

不用标准库,用了会增大组件的体积。ATL有内置的文件包装类,那用得着动用C的文件处理函数。

解决方案6:

注意名字空间的使用


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

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

  • 在ATL工程中怎么写文件?用fprintf老是报错!!!
  • 请教:ATL工程中定时器的使用
  • 我在一个ATL工程中使用_bstr_t还要加#include<atlctlh>头文件吗,不加说bstr_t没定义,加了出现2个连接错误
  • 我希望创建一个类似于MFC工程一样的有窗口的ATL工程,但是用默认的ATLwizard创建的却是无窗口的控件,那我该怎么办呢?
  • 把某个ATL工程的功能移植到MFC的工程里怎么就那么难?
  • ATL工程中两个类之间参数怎么调用
  • ATL工程中一个支持连接点的接口实现类中能够增加多个入接口,出接口?
  • ATL工程中使用MFC类的问题
  • 在vs2005中建一个atl工程,为什么会出现二个同名工程,第二个是第一个名称后加ps
  • 做一个ATL的EXE工程,为什么编译的时候会运行一次?

相关文章

  • 2017-06-04 ISampleGrabber::GetCurrentBuffer总的到同样的图片
  • 2017-06-04 如何创建一个com,要求可以以非阻塞处理的方式处理同时处理多个客户端的请求???
  • 2017-06-05 VC读取EXCEL的问题
  • 2017-06-05 求SDK写的TelNet客户端代码
  • 2017-06-04 求绘图解决方案
  • 2017-06-05 只有C++源文件和makefile文件怎样生成VS工程?
  • 2017-06-05 多线程的问题:为什么改一个BOOL量会失败?在线等
  • 2017-06-05 我编写了一个Win32DLL程序,但当我使用下面的方法去使用该dll文件的时候,编译时出现LNK2001错误。。。。
  • 2017-06-04 MSFlexGrid让文本折行是不是需要在wordwrap情况下加回车
  • 2017-06-05 编电梯程序需要哪些知识?谢谢各位

文章分类

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

最近更新的内容

    • 深夜也来打扰大家,请大家教教小弟,Win32项目,如何创建带参数的线程?
    • 程序异常退出时子线程空间是否自动释放??
    • 怎样获得COM对象的CLSID
    • gdi绘图程序100分求助
    • vc的ActiveX控件跟第三方控件是同一个东西吗?
    • vc调用Delphi写的ocx问题
    • 请问怎么得到我的程序或线程运行时间……非timegettime法
    • [求助COM问题]COM中另外的线程触发的时间为什么在vb中接收不到?
    • 关于COM的问题,runerror!800706be,远程过程调用失败
    • 关于MFCActiveX编译选项USEMFCinstaticlibrary

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

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