【发布时间】:2012-12-23 01:54:32
【问题描述】:
我正在将一些 lib 从 win32 平台移植到 Mac OS。有一些函数使用 _stprintf_s 来安全地初始化字符串。
Objective-C++中有没有类似_stprintf_s的函数?
【问题讨论】:
-
我找到了一个名为 snprintf 的函数。不知道是一样的还是相近的?
-
在 ObjC 中,我可能会尝试
NSStringformatting?NSStrings是不透明的,应该使用明确的边界来实现,因此它们指向随机垃圾内存的风险很小。 -
由于跨平台的需要,基础库都是C++代码,最好使用标准的C++方法。
-
我认为
snprintf()可能是Windows 的sprintf_s()等价的标准(其中_stprintf_s()似乎是tchar.h等价的。我认为你不应该真的使用@ 987654328@ 对于任何事情,您可能不需要支持 Windows 的 pre-Unicode 版本。) -
那么您的问题具有误导性。您希望将您询问的代码移植到标准 C,而不是 Obj-C 或 Obj-C++ 或标准 C++。 (您将使用
std::wstring而不是 C 格式化函数。)
标签: macos porting objective-c++