CStdioFile

CStdioFile

文件创建、数据写入、写入路径

void StdReferenceDWG::RefDrawCrvt(StdOneReference& ref)
{char* old_locale = _strdup(setlocale(LC_CTYPE, NULL));setlocale(LC_CTYPE, "chs");//设定CString strPath = StdTool::GetCurPath() + _T("衬图\\ReferenceDrawPathCrt.txt");CStdioFile file;UINT nOpenFlags = CFile::modeWrite;if (mvctCrtRefDrw.size() == 0){if (file.Open(strPath, nOpenFlags)){file.Close();file.Remove(strPath);}nOpenFlags = nOpenFlags | CFile::modeCreate;}mvctCrtRefDrw.push_back(ref);if (!file.Open(strPath, nOpenFlags))return;file.SeekToEnd();CString strKey; strKey.Format(_T("key=%d\n"), mvctCrtRefDrw.size());   file.WriteString(strKey);CString strvalue;;strvalue.Format(_T("%s\n"                  ), ref.mcstrReferenceDwgName                                                                  ); file.WriteString(strvalue);strvalue.Format(_T("%s\n"                  ), ref.mcstrReferenceDwgPath                                                                  ); file.WriteString(strvalue);strvalue.Format(_T("%d\n"                  ), ref.mbReferenceDwgShow ? 1 : 0                                                             ); file.WriteString(strvalue);strvalue.Format(_T("%d\n"                  ), ref.mbReferenceDwgLock ? 1 : 0                                                             ); file.WriteString(strvalue);strvalue.Format(_T("%0.1f\n"               ), ref.mdReferenceDwgScale                                                                    ); file.WriteString(strvalue);strvalue.Format(_T("%0.1f\n"               ), ref.mdReferenceDwgAngle                                                                    ); file.WriteString(strvalue);strvalue.Format(_T("%0.1f\n"               ), ref.mdReferenceDwgRatio                                                                    ); file.WriteString(strvalue);strvalue.Format(_T("%0.10f,%0.10f,%0.10f\n"), ref.mptReferenceDwgPtBase.x, ref.mptReferenceDwgPtBase.y, ref.mptReferenceDwgPtBase.z      ); file.WriteString(strvalue);strvalue.Format(_T("%0.10f,%0.10f,%0.10f\n"), ref.mptReferenceDwgPtInsert.x, ref.mptReferenceDwgPtInsert.y, ref.mptReferenceDwgPtInsert.z); file.WriteString(strvalue);file.Close();setlocale(LC_CTYPE, old_locale);free(old_locale);//还原区域设定
}

文件内容读取

void StdReferenceDWG::OpeOldPro()
{char* old_locale = _strdup(setlocale(LC_CTYPE, NULL));setlocale(LC_CTYPE, "chs");//设定CString strPath = StdTool::GetCurPath() + _T("衬图\\ReferenceDrawPathCrt.txt");CStdioFile file;if (!file.Open(strPath, CFile::modeRead)) return;CString strRed;StdOneReference ref;int i = 0;while (file.ReadString(strRed)){if (i == 10){mvctCrtRefDrw.push_back(ref);i = 0;}if (i == 0){if (strRed.Find(_T("key =")) != -1)ref = StdOneReference();strRed = L"";i++;continue;}else if (i == 1)  ref.mcstrReferenceDwgName = strRed; else if (i == 2)  ref.mcstrReferenceDwgPath = strRed;else if (i == 3)  ref.mbReferenceDwgShow = strRed; else if (i == 4)  ref.mbReferenceDwgLock = strRed;else if (i == 5)  ref.mdReferenceDwgScale = _wtof(strRed.GetBuffer()); else if (i == 6)  ref.mdReferenceDwgAngle = _wtof(strRed.GetBuffer()); else if (i == 7)  ref.mdReferenceDwgRatio = _wtof(strRed.GetBuffer());else if (i == 8)  ref.mptReferenceDwgPtBase = GetPt(strRed);else if (i == 9)  ref.mptReferenceDwgPtInsert = GetPt(strRed);strRed = L"";i++;}file.Close();setlocale(LC_CTYPE, old_locale);free(old_locale);//还原区域设定
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/215683.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

界面控件DevExpress中文教程 - 如何用Office File API组件填充PDF表单

DevExpress Office File API是一个专为C#, VB.NET 和 ASP.NET等开发人员提供的非可视化.NET库。有了这个库,不用安装Microsoft Office,就可以完全自动处理Excel、Word等文档。开发人员使用一个非常易于操作的API就可以生成XLS, XLSx, DOC, DOCx, RTF, CS…

基于SpringBoot的就业信息管理系统设计与实现(源码+数据库+文档)

摘 要 在新冠肺炎疫情的影响下,大学生的就业问题已经变成了一个引起人们普遍重视的社会焦点问题。在这次疫情的冲击之下,大学生的就业市场的供求双方都受到了不同程度的影响,大学生的就业情况并不十分乐观。目前,各种招聘平台上…

Netty高性能的原因

Netty 之所以具有高性能,主要得益于以下几个方面的设计和实现: 异步非阻塞: Netty采用基于事件驱动的异步非阻塞模型,即 Reactor 模式。这意味着它能够处理大量并发连接而不会因为I/O操作而阻塞线程。不会因为每个连接都需要一个单…

云原生之使用Docker部署Mariadb数据库

目录 一、什么是云原生 二、Docker介绍 三、Mariadb数据库介绍 四、如何使用Docker部署Mariadb数据库 一、什么是云原生 云原生是一种综合性的技术和方法论,旨在对应用程序进行全生命周期的管理,包括开发、部署、运行和扩展。它倡导将应用程序设计为…

moviepy基本参数用法大全

阅读本文档的前置说明: 本文档用于讲解Python的moviepy库的自带函数的用法,主要目的是讲一下每个函数的每个参数的含义,无需一开始就全部掌握,粗略看一下就行,可以在后面自己开发过程,遇到不会用的函数再回…

大模型应用_AutoGPT

1 功能 整体功能,想解决什么问题 单独使用 ChatGPT 时,只提供基本的聊天,无法实现具体的功能,如果想提供某种功能,则需要结合程序实现。AutoGPT目标是建立和使用 AI Agent,设定一个或多个目标,…

数据库——字段拆分与合并

一、GP或PostgreSQL 1.字段拆分成行 unnest(string_to_array(test, ,)) 例如某一字段值为"a,b,c,d",使用string_to_array将其拆分为数组,然后使用unnest将数组平铺成一张表 SELECT unnest(string_to_array(555,666,777, ,)) 2.字段拆分成列…

【EI征稿倒计时3天】第四届IEEE信息科学与教育国际学术会议(ICISE-IE 2023)

第四届IEEE信息科学与教育国际学术会议(ICISE-IE 2023) 2023 4th International Conference on Information Science and Education(ICISE-IE 2023) ICISE-IE2024已上线岭南师范学院官网(点击查看) 第四届IEEE信息科学与教育国…

双荧光素酶报告基因检测(五)

关于双荧光素酶报告基因检测中遇到的问题及解决措施 问题1:为什么要用荧光素酶实验来做检测,不用其他报告基因来做,GFP可以吗? 采用荧光素酶来做实验是由其自身的优势所决定的:(1)蛋白不需要翻…

@Transactional失效问题

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 关于Transactional 日…

解读 | 为什么有很多名人让人们警惕人工智能

大家好,我是极智视界,欢迎关注我的公众号,获取我的更多前沿科技分享 邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码和资源下载,链接:https://t.zsxq.com/0aiNxERDq 这个话题总能引起很…

六、ZGC深度剖析

一、引言 对于Java 程序员来说,JVM 帮助我们做了很多事情。 JVM是虚拟机,能够识别字节码,就是class文件或者你打包的jar文件,运行在操作系统上。 JVM帮我们实现了跨平台,你只需要编译一次,就可以在不同的…

在线课堂知识付费小程序源码系统 开发组合PHP+MySQL:用手机随时随地地学习,讲师亲自在线授业解惑 带安装部署教程

近年来,人们对于学习的需求也日益增加。传统的课堂教学已经无法满足人们的学习需求,而在线课堂则能够让人们随时随地地进行学习。同时,随着知识付费的兴起,越来越多的讲师也愿意将自己的知识和经验分享给更多的人。因此&#xff0…

Mysql社区版日志审计插件

过去从Mysql官方自带general.log日志的相比其他插件性能是最差的,我们考虑参考行业中较好的插件是MariaDB Audit Plugin, 可惜并不兼容mysql 5.7与mysql 8.0以上版本。 采用github开源项目,该项目支持MySQL 5.7和MySQL 8.0两个分支。 https://github.c…

如何管理医疗设备用电?这才是最佳方法!

随着社会对可持续发展和环保的关注不断上升,蓄电池监控系统作为能源存储和管理的关键技术,正在崭露头角。 蓄电池监控系统不仅为能源行业带来了新的可能性,同时也为各个领域的能源使用者提供了更加智能、高效的解决方案。 客户案例 工业生产…

ansible部署安装Tomcat

我们需要用到的文件jdk以及tomcat安装包 下载链接:https://pan.baidu.com/s/1sjG8Yl8k-SUbOv7KwKXZMA 提取码:t71z 准备n台机器(我这里就简单部署三台机器) ansible的安装部署以及配置可以看博主之前的文章自动化运维工具-ansible部署 ansib…

建筑可视化数据大屏汇总,UI源文件(PC端大屏设计)

酷炫的大屏设计让数据更好的展现,方便业务人员分析数据,辅助领导决策。现在分享大屏Photoshop源文件,以下为部分截图示意。 划重点:文末可获得完整素材包~ 01 科技建筑平台数据可视化 02 建筑公司可视化数据汇总平台 03 深蓝…

计算机视觉-机器学习-人工智能 顶会会议召开地址

计算机视觉-机器学习-人工智能 顶会会议召开地址 最近应该要整理中文资料的参考文献,很多会议文献都需要补全会议地点(新国标要求)。四处百度感觉也挺麻烦的,而且没有比较齐全的网站可以搜索。因此自己整理了一下计算机视觉-机器…

JVM虚拟机系统性学习-对象存活判断算法、对象引用类型和垃圾清除算法

垃圾回收 在 JVM 中需要对没有被引用的对象,也就是垃圾对象进行垃圾回收 对象存活判断算法 判断对象存活有两种方式:引用计数法、可达性分析算法 引用计数法 引用计数法通过记录每个对象被引用的次数,例如对象 A 被引用 1 次&#xff0c…

c#面试基础语法——现有⼀个整数number,请写⼀个⽅法判断这个整数是否是2的N次⽅

1.number%20 取余(取模)只能判断number是不是2的倍数但不一定是2的N次方,如:6%20但是他并不是2的N次方 2.(number&(number-1))0 原理:如果number是2的N次方则表示2进制位只有一位是1。如:2 &#xff08…