VC++如何读取文件
用VC++读取一个音频文件和一幅图像并显示之~新手上路,求大虾指点~
[解决办法]
用文件流
[解决办法]
不知道你是想通过调用别的软件来实现,
还是要做个程序,不调用第三方库直接就能实现。。如果是这样的话,那很难,你要自己写解码器,还有播放的那部分。。要写这个你首先要对你要读取的音频文件和图像文件的格式协议非常了解。。
[解决办法]
如果你是要拿VC写MFC程序那倒好办,有控件能实现。
如果是要写WIN32的,VC貌似也有库函数吧。。不太确定。。
你去找找有没有开源的第三方库,
比如VLC播放器,安装好后直接调用libvlc.dll就能播放视频音频,但是VLC安装后近100M,冗余的库比较多。
至于图像的。。库也是很多的,只接触过JPEG的。。
SourceForge.net去找找吧。。
[解决办法]
CreatFile ReadFile, WriteFile
[解决办法]
[解决办法]
二进制的话,open mode 选择wb,也就是write binary.
操作文件buffer用fsteam里封装的方法。
[解决办法]
音频文件和图像文件就直接二进制读吧。
FILE * f = freopen(“文件名”,“读写方式”,stdin);查一下这个函数吧
还有fopen。
然后通过fread()读写。
然后用MFC做个Cedit box控件将你读到的内容显示出来。
建议看一下MFC的视频,网上都有(孙鑫老师的就可以)
不知道你要显示图像么?
如果要根据读得数据显示图像的话你还要配置opencv库,showimag API函数.这个就涉及图像处理了,不过感觉你的意思是显示文件的内容,想必你已经清楚了
[解决办法]
不要把
fopen("...","...");fscanf,fprintf,fclose //读时把\r\n替换成\n,写时把\n替换成\r\n;读到\x1a就设置EOF;读写的内容当字符看待
和
fopen("...","...b");fread,fwrite,fclose //不作以上替换,遇到\x1a仍继续读;读写的内容当字节看待
弄混了
[解决办法]
fstream
[解决办法]
《windows程序设计》的第3章和第15章有鲜活的例子。