0

我是否需要释放从这些函数中获得的字符串?或者系统可能会跟踪它们。GetCommandLine() 也有同样的问题。

4

2 回答 2

6

您负责分配和释放发送到MultiByteToWideChar和的缓冲区WideCharToMultiByte

来自的返回值GetCommandLine由 Win32 处理。

于 2011-05-13T15:39:34.803 回答
3

对于 Unicode 转换函数,您需要分配内存来保存转换后的字符串。你负责这段记忆的生命周期。

对于 GetCommandLine,您不需要释放返回的内存块。

一个非常基本的经验法则是,当且仅当您分配了内存时,您才必须解除分配。

于 2011-05-13T15:40:21.803 回答