WritePrivateProfileString 未在末尾添加属性

2024-05-08

我正在使用以下命令在 ini 文件中写入一些属性WritePrivateProfileString函数并且一切正常,但是当我添加多行文本时,出现了问题。

这是代码和输出。

WritePrivateProfileString(_T("General"), _T("Name"), OLE2CT(text), FilePath);

Output:

[General]
Name=mytext

.

text = address\nstreet\nhouse
WritePrivateProfileString(_T("General"), _T("Address"), OLE2CT(text), FilePath);

Output:

[General]
Name=mytext
Address=address
street
house

但是,当添加多个行项目后,我添加另一个项目时,它不是添加这个项目来结束它,而是在地址行之后添加新行

text = city
WritePrivateProfileString(_T("General"), _T("City"), OLE2CT(text), FilePath);

Output:

[General]
Name=mytext
Address=address
City=city
street
house

但输出应该是

[General]
Name=mytext
Address=address
street
house
City=city

我的代码有什么问题?


我强烈建议您仔细阅读您的问题在迈克尔·卡普兰的博客上 http://www.siao2.com/2006/09/15/754992.aspx.

如果您绝对必须使用 INI 文件,不要使用您现在正在使用的已弃用的 Win32 API 函数。它们是有缺陷的,并且错误肯定不会再得到修复,因为它们已被弃用 http://blogs.msdn.com/b/oldnewthing/archive/2007/11/26/6523907.aspx by now.

而是使用简单初始化 https://github.com/brofield/simpleini用于 C++ 的 INI 读取器/编写器的非常不错的跨平台实现。

微软(作为一个整体)似乎不确定他们是否更喜欢注册表或其他机制来存储配置数据。在某些时候,它是 INI 文件,然后是注册表(对我来说是一种优越的机制),然后它似乎转向 XML 和其他基于文件的存储机制。当然,您的用例将定义您的需求,但请考虑有关使用这些已弃用的函数的所有注意事项,并且如果必须的话,至少寻找一种使用 INI 文件的替代机制.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WritePrivateProfileString 未在末尾添加属性 的相关文章

  • 如何捕获未发送到 stdout 的命令行文本?

    我在项目中使用 LAME 命令行 mp3 编码器 我希望能够看到某人正在使用什么版本 如果我只执行 LAME exe 而不带参数 我会得到 例如 C LAME gt LAME exe LAME 32 bits version 3 98 2
  • 为什么pow函数比简单运算慢?

    从我的一个朋友那里 我听说 pow 函数比简单地将底数乘以它的指数的等价函数要慢 例如 据他介绍 include
  • C++ 是否可以在 MacOS 上与 OpenMP 和 boost 兼容?

    我现在已经尝试了很多事情并得出了一些结论 也许 我监督了一些事情 但似乎我无法完成我想要的事情 问题是 是否有可能使用 OpenMP 和 boost 在 MacOS High Sierra 上编译 C 一些发现 如果我错了请纠正我 Open
  • IdentityServer 4 对它的工作原理感到困惑

    我阅读和观看了很多有关 Identity Server 4 的内容 但我仍然对它有点困惑 因为似乎有很多移动部件 我现在明白这是一个单独的项目 它处理用户身份验证 我仍然不明白的是用户如何注册它 谁存储用户名 密码 我打算进行此设置 Rea
  • 如何使用 Castle Windsor 将对象注入到 WCF IErrorHandler 实现中?

    我正在使用 WCF 开发一组服务 该应用程序正在使用 Castle Windsor 进行依赖注入 我添加了一个IErrorHandler通过属性添加到服务的实现 到目前为止一切正常 这IErrorHandler对象 一个名为FaultHan
  • 当一组凭据下的计划任务启动的进程在另一组凭据下运行另一个程序时,Windows 是否有限制

    所以我有一个简单的例子 其中我有应用程序 A 它对用户 X 本地管理员 有一些硬编码的凭据 然后它使用硬编码的绝对路径启动带有这些凭据的应用程序 B A 和 B 以及 dotnet 控制台应用程序 但是它们不与控制台交互 只是将信息写入文件
  • Visual Studio 在构建后显示假错误

    我使用的是 Visual Studio 2017 构建后 sln在调试模式下 我收到错误 但是 当我通过双击错误列表选项卡中的错误来访问错误时 错误会从页面中消失 并且错误数量也会减少 我不太确定这种行为以及为什么会发生这种情况 有超过 2
  • unordered_map 中字符串的 C++ 哈希函数

    看起来 C 标准库中没有字符串的哈希函数 这是真的 在任何 c 编译器上使用字符串作为 unordered map 中的键的工作示例是什么 C STL提供模板专业化 http en cppreference com w cpp string
  • File.AppendText 尝试写入错误的位置

    我有一个 C 控制台应用程序 它作为 Windows 任务计划程序中的计划任务运行 此控制台应用程序写入日志文件 该日志文件在调试模式下运行时会创建并写入应用程序文件夹本身内的文件 但是 当它在任务计划程序中运行时 它会抛出一个错误 指出访
  • C# 存档中的文件列表

    我正在创建一个 FileFinder 类 您可以在其中进行如下搜索 var fileFinder new FileFinder new string C MyFolder1 C MyFolder2 new string
  • 如何在 Qt 应用程序中通过终端命令运行分离的应用程序?

    我想使用命令 cd opencv opencv 3 0 0 alpha samples cpp cpp example facedetect lena jpg 在 Qt 应用程序中按钮的 clicked 方法上运行 OpenCV 示例代码
  • 在mysql连接字符串中添加应用程序名称/程序名称[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在寻找一种解决方案 在连接字符串中添加应用程序名称或程序名称 以便它在 MySQL Workbench 中的 客户端连接 下可见 SQL
  • C++ int 前面加 0 会改变整个值

    我有一个非常奇怪的问题 如果我像这样声明一个 int int time 0110 然后将其显示到控制台返回的值为72 但是当我删除前面的 0 时int time 110 然后控制台显示110正如预期的那样 我想知道两件事 首先 为什么它在
  • 检测到严重错误 c0000374 - C++ dll 将已分配内存的指针返回到 C#

    我有一个 c dll 它为我的主 c 应用程序提供一些功能 在这里 我尝试读取一个文件 将其加载到内存 然后返回一些信息 例如加载数据的指针和内存块的计数到 c Dll 成功将文件读取到内存 但在返回主应用程序时 程序由于堆损坏而崩溃 检测
  • 使 Guid 属性成为线程安全的

    我的一个类有一个 Guid 类型的属性 该属性可以由多个线程同时读写 我的印象是对 Guid 的读取和写入不是原子的 因此我应该锁定它们 我选择这样做 public Guid TestKey get lock testKeyLock ret
  • String.Empty 与 "" [重复]

    这个问题在这里已经有答案了 可能的重复 String Empty 和 有什么区别 https stackoverflow com questions 151472 what is the difference between string
  • 将数组作为参数传递

    如果我们修改作为方法内参数传递的数组的内容 则修改是在参数的副本而不是原始参数上完成的 因此结果不可见 当我们调用具有引用类型参数的方法时 会发生什么过程 这是我想问的代码示例 using System namespace Value Re
  • 堆栈是向上增长还是向下增长?

    我在 C 中有这段代码 int q 10 int s 5 int a 3 printf Address of a d n int a printf Address of a 1 d n int a 1 printf Address of a
  • GCC 的“-Wl,option”和“-Xlinker option”语法之间有区别吗?

    我一直在查看一些配置文件 并且看到它们都被使用 尽管在不同的体系结构上 如果您在 Linux 机器上使用 GCC 将选项传递给链接器的两种语法之间有区别吗 据我所知 阅读 GCC 手册时 他们的解释几乎相同 From man gcc Xli
  • OpenCV SIFT 描述符关键点半径

    我正在深入研究OpenCV的SIFT描述符提取的实现 https github com Itseez opencv blob master modules nonfree src sift cpp 我发现了一些令人费解的代码来获取兴趣点邻域

随机推荐

  • 为什么虽然输入的值确实发生了变化,但jquery更改事件没有触发? [复制]

    这个问题在这里已经有答案了 JSFIDDLE http jsfiddle net meXm3 2 网页代码
  • 创建地图后向 Google 地图 v3 添加标记

    我对使用 Google Maps API 比较陌生 现在我正在开发一个项目 用户可以选择各种搜索过滤器并查看结果自动显示在地图上 而无需重新加载页面 到目前为止 我的方法是创建一个控制地图的 Javascript 对象 以便我可以按照我的意
  • Git 中的提交是越多越好还是越少越好? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我最近与一位同事进行了一场辩论 他坚持认为 由于合并冲突 提交越少越好 我认为通过使用尽可能多的提交获得的细节越多越好 提交更多还是更少更好 为
  • 如何获取AWS ec2中区域的可用容量?

    AWS 终止了我的运行位置 并出现错误 实例终止容量超额订阅 有没有办法查看不同 ec2 区域中实例类型的可用容量 这样我就可以在更 可用 的区域创建我的新位置 查看 现货实例历史记录 这不会告诉您未来 但会给您迄今为止的良好指示 此链接将
  • 如何在 groovy 中将输出重定向到 stderr?

    我正在寻找一种将 groovy 脚本中的输出重定向到 stderr 的方法 catch Exception e println Want this to go to stderr 就在我的脑海中 你不能做一些自我接线吗 def printE
  • Kafka REST 代理 API 有哪些好处?

    我不知道Kafka REST Proxy API的优点 它是一个 REST API 所以我知道它对于管理来说很方便 人们为什么使用 Kafka REST 代理 API 添加对生产者或消费者的 Maven 依赖是否很麻烦 另外 我知道kafk
  • Cordova Android 应用程序中的网页不可用

    编辑 我一直在解决这个问题并回顾我的所有步骤 我很乐意缩小这个问题的规模 并在令人困惑的情况下获得更多确切的细节 目前 我觉得 Keycloak 似乎只想将我重定向到 https 据我所知 这应该是 Wildfly 服务器配置问题 编辑 我
  • 无法在 PowerShell 中完全解析 XML

    我有一个 XML 文件 我想解析该文件并检索特定信息 为了便于理解 下面是 XML 文件的屏幕截图 我想解析 XML 并为每个Item节点 检索屏幕截图中指示的字段 检索到的每个值都需要针对每个项目节点进行格式化 最后 我希望能够指定一个要
  • Ctrl-退格键 Visual Studio 2010

    I recently upgraded to Visual Studio 2010 and found out that when I press Ctrl Backspace on an empty line it will delete
  • Python ttk.combobox 强制发布/打开

    我正在尝试扩展 ttk 组合框类以允许自动建议 我到目前为止的代码运行良好 但我想让它在输入一些文本后显示下拉列表 而不从小部件的输入部分移除焦点 我正在努力解决的部分是找到一种强制下拉的方法 在 python 文档中我找不到任何提及这一点
  • Spring Data、JPA @OneToMany Lazy fetch 在 Spring Boot 中不起作用

    I have OneToMany之间的关系FabricRoll and FabricDefect OneToMany cascade CascadeType ALL fetch FetchType LAZY JoinColumn name
  • Google 的新地点库(实现“com.google.android.libraries.places:1.0.0”)无法解析

    我正在尝试迁移到新的 Places SDK 客户端 但我被告知要安装的依赖项文档 https developers google com places android sdk client migration给我一个 无法解决 错误 我确保
  • Python Subversion 包装器库

    在颠覆的文档 http svnbook red bean com en 1 7 svn developer usingapi html svn developer usingapi otherlangs有一个从 Python 使用 Subv
  • 为什么吐司消息在 Marshmallow 6.0.1 中不显示,而低于 6.0 则显示

    我正在使用 toast 消息传递 Toast 消息的显示远低于 Marshmallow 6 0 但对于 Marshmallow 6 0 和 6 Toast 未显示 推送通知也未显示 请解决这个问题 对于吐司 Toast makeText c
  • 经典 asp 和 IIS 应用程序池之间有什么关系?

    asp 是否在为其配置网站的 IIS 应用程序池中运行 或者应用程序池仅适用于asp NET应用程序 这两者之间有何关系 我需要知道什么才能了解 谁在做什么以及他们在哪里做 ASP Classic 应用程序将在分配给它的应用程序池中运行 A
  • 自动化 RStudio 处理 RMarkdown?

    我有一个 RMarkdown 文件 用于生成漂亮的 HTML 报告 问题是 我希望能够自动化它 以便它可以在无头服务器上运行 因此 不会有人启动 Rstudio 并按下 knithtml 按钮 而且 Rstudio 似乎正在做很多额外的魔法
  • 我想优化这个短循环

    我想优化这个简单的循环 unsigned int i while j 0 j is an unsigned int with a start value of about N 36 000 000 float sub 0 i 1 unsig
  • 计算分组序列中两个值之间的差异

    这是这篇文章的后续问题 循环遍历 R 中的数据帧并测量两个值之间的时间差 https stackoverflow com questions 44885856 loop through dataframe in r and measure
  • 为什么每次合并分支后我的 git log graph 都会多增长一行?

    我习惯使用git log oneline graph decorate all作为别名git ll在终端中查看提交图表 但是当我每次合并我的时 一个问题让我感到困惑develop to master 上面命令的输出可能是这样的 0d1bf7
  • WritePrivateProfileString 未在末尾添加属性

    我正在使用以下命令在 ini 文件中写入一些属性WritePrivateProfileString函数并且一切正常 但是当我添加多行文本时 出现了问题 这是代码和输出 WritePrivateProfileString T General