详解dll动态库的开发与调用及文件的读写小程序

首先我们先来学习一下动态库的调用,先找到动态库的.dll和.lib文件并将其导入到同源文件相同级别的文件夹下面,然后在添加进其头文件,并右击项目处,然后点击链接,链接我们的lib文件(一定要是全名称包括扩展名),然后我们就可以调用动态库的函数了。
Dll是我们具体的函数, lib使我们的函数描述文件。
#include <stdio.h>
#include <stdlib.h>
/*
该代码是对文件读写操作的使用
*/
#pragma warning(disable:4996)
#define MAX_DATA_LEN 4096
//进行加密的函数
int FileSymEnc(char * from, char * to);
void main() {
char * from = "C:/Users/Administrator/Desktop/结构体的拷贝问题.docx";
char * to = "C:/Users/Administrator/Desktop/副本结构体的拷贝问题.docx";
//下面调用函数进行文件的读写
int re = FileSymEnc(from, to);
if (re == 0) {
printf("文件读写错误!");
}
system("pause");
}
int FileSymEnc(char * from, char * to) {
//返回值,以确定执行状态,-0代表失败,1代表成功
int re = 1;
//写了几个
int writtenLen = 0;
//准备写几个
int plainlen = 0;
//在堆区分配4k内存空间
unsigned char * buff = malloc(MAX_DATA_LEN);
buff = memset(buff, 0, MAX_DATA_LEN);
FILE * f = fopen(from, "rb");
FILE * t = fopen(to, "wb");
if (f == NULL) {
printf("打开读文件错误!");
goto END;
}
if (t == NULL) {
printf("打开写文件错误!");
goto END;
}
while (!feof(f))
{
writtenLen = fread(buff, 1, MAX_DATA_LEN, f);
//判读是否读到了文件末尾,如果读到了则跳出循环
if (feof(f))
{
plainlen = writtenLen;
break;
}
if (writtenLen != MAX_DATA_LEN) {
//没有读取成功
printf("文件读入失败!");
re = 0;
goto END;
}
//读取成功进行文件的写入
writtenLen = fwrite(buff, 1, MAX_DATA_LEN, t);
if (writtenLen != MAX_DATA_LEN) {
printf("文件写入失败!");
re = 0;
goto END;
}
}
//外面处理不到4K的写入问题,我们本不用进行格外的小数据读写,主不过这和我们的加密方式相关连得
writtenLen = fwrite(buff, 1, plainlen, t);
if (writtenLen != plainlen) {
printf("文件写入失败!");
re = 0;
goto END;
}
END:
//堆分配的内存进行释放
if (buff != NULL) {
free(buff);
buff = NULL;
}
//进行文件的关闭操作
if (f != NULL) {
fclose(f);
f = NULL;
}
if (t != NULL) {
fclose(t);
f = NULL;
}
return re;
}
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# dll动态库
# dll动态库的开发与调用及文件的实例
# Linux动态库函数的详解
# Linux静态库与动态库实例详解
# android studio2.3如何编译动态库的过程详解
# Linux下g++编译与使用静态库和动态库的方法
# Linux环境g++编译GDAL动态库操作方法
# 解决Linux程序编译链接动态库版本的相关问题
# xcode 详解创建静态库和动态库的方法
# 浅谈Linux C语言动态库及静态库
# c++实现加载so动态库中的资源
# linux 程序、动态库、静态库内部添加版本号和编译时间详解
# 从源码编译Android系统的Java类库和JNI动态库的方法
# C#调用非托管动态库中的函数方法
# Visual Studio中根据系统区分引用64位、32位DLL动态库文件的配置方法
# 动态库调用静态库示例讲解
# linux生成(加载)动态库静态库和加载示例方法
# 深入探讨Linux静态库与动态库的详解(一看就懂)
# 分析Windows和Linux动态库
# 在动态库和静态库中使用模板(dynamic libraries
# static libraries)
# 几个
# 读到
# 如有
# 希望能
# 扩展名
# 写了
# 使我
# 谢谢大家
# 先来
# 这和
# 就可以
# 右击
# 返回值
# 疑问请
# 头文件
# 导入到
# 并将其
# gt
# stdlib
# stdio
相关文章:
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
高防服务器租用如何选择配置与防御等级?
北京网站制作的公司有哪些,北京白云观官方网站?
seo网站制作优化,网站SEO优化步骤有哪些?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
如何将凡科建站内容保存为本地文件?
如何高效搭建专业期货交易平台网站?
交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?
在线制作视频的网站有哪些,电脑如何制作视频短片?
大同网页,大同瑞慈医院官网?
建站之星24小时客服电话如何获取?
专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?
如何确保FTP站点访问权限与数据传输安全?
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
制作网站的公司有哪些,做一个公司网站要多少钱?
长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?
成都响应式网站开发,dw怎么把手机适应页面变成网页?
如何通过.red域名打造高辨识度品牌网站?
北京制作网站的公司,北京铁路集团官方网站?
建站之星IIS配置教程:代码生成技巧与站点搭建指南
商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?
如何正确选择百度移动适配建站域名?
建站之星伪静态规则如何设置?
建站主机如何安装配置?新手必看操作指南
宝塔新建站点报错如何解决?
IOS倒计时设置UIButton标题title的抖动问题
如何高效完成自助建站业务培训?
建站之星如何配置系统实现高效建站?
北京营销型网站制作公司,可以用python做一个营销推广网站吗?
平台云上自主建站:模板化设计与智能工具打造高效网站
如何获取PHP WAP自助建站系统源码?
如何确保西部建站助手FTP传输的安全性?
,网页ppt怎么弄成自己的ppt?
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
常州企业网站制作公司,全国继续教育网怎么登录?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
头像制作网站在线制作软件,dw网页背景图像怎么设置?
建站之星安装失败:服务器环境不兼容?
如何通过西部建站助手安装IIS服务器?
如何快速查询网址的建站时间与历史轨迹?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
如何快速上传自定义模板至建站之星?
网站制作价目表怎么做,珍爱网婚介费用多少?
如何通过主机屋免费建站教程十分钟搭建网站?
如何在阿里云通过域名搭建网站?
已有域名和空间如何快速搭建网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。