【问题标题】:Is there any function similar to _stprintf_s in Objective-C++?Objective-C++中有没有类似_stprintf_s的函数?
【发布时间】:2012-12-23 01:54:32
【问题描述】:

我正在将一些 lib 从 win32 平台移植到 Mac OS。有一些函数使用 _stprintf_s 来安全地初始化字符串。

Objective-C++中有没有类似_stprintf_s的函数?

【问题讨论】:

  • 我找到了一个名为 snprintf 的函数。不知道是一样的还是相近的?
  • 在 ObjC 中,我可能会尝试NSString formattingNSStrings 是不透明的,应该使用明确的边界来实现,因此它们指向随机垃圾内存的风险很小。
  • 由于跨平台的需要,基础库都是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++


【解决方案1】:

最后我找到了swprintf,它可以作为一个很好的替代品。

int swprintf(wchar_t *restrict ws, size_t n, const wchar_t *restrict format, ...);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多