CString::GetBuffer()和CString::ReleaseBuffer()

本文介绍了如何使用Win32 API函数WritePrivateProfileString和GetPrivateProfileString操作Ini配置文件,包括写入和读取配置项的过程,并展示了CString类在处理字符串时的便捷性和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目中用到了配置文件(ini文件),今天尝试使用了一下。没想到有意外的惊喜。

//写入配置文件(要求目标文件必须存在)

CString name=TEXT("wukaisheng);
bool bWrite=WritePrivateProfileString(TEXT("software engineer"),TEXT("name"),name,TEXT(".\\m_test.ini"));

正确执行后,对应的配置文件中的内容:

111111111111111111

//从配置文件中读取内容

CString name;

GetPrivateProfileString(TEXT("software engineer"),TEXT("name"),TEXT(""),name.GetBuffer(20),20,TEXT(".\\m_test.ini"));

执行后name的值为“wukaisheng”。

此处可以看到CString的一个妙用。平时我们与win32交互的时候,要获取字符串的时候,一般都是构造一个空的数组来接收。其实也可以用CString::GetBuffer()来代替。

CString的便捷程度不是字符数组能比的

但是在使用完CString::GetBuffer()之后,该CString对象的长度被锁定。此时,又有被束缚的感觉了。如果想继续使用该CString,就必须使用CString::ReleaseBuffer()解除锁,使得CString对象在以后的代码中继续可以实现长度自适应增长的功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值