【问题标题】:How to concatenate two strings with C and MinGW?如何用 C 和 MinGW 连接两个字符串?
【发布时间】:2012-02-29 13:04:23
【问题描述】:

如何在 MinGW 中使用 GCC 连接(甚至分配)两个字符串(我猜是TCHAR 数组)?

  • StrCatBuff?
    #include <shlwapi.h>-lshlwapi 工作,但你是 not supposed to use it
  • _tcscat?
    好像不存在
  • StringCchCat
    似乎不存在。 strsafe.h 不存在。

这同样适用于它们各自的赋值函数,例如StringCchCpy_tcscpy

【问题讨论】:

    标签: c string winapi mingw


    【解决方案1】:

    _tcscat(或“安全”版本,_tcscat_s)适用于连接TCHARs 的数组。您必须包含 tchar.h 才能使用这些功能。

    StringCchCat 也应该如此,正如您所提到的,它在 strsafe.h 中定义。

    如果您缺少这些头文件,请确保您已安装 Windows SDK。默认情况下,MinGW 可能不包含它,就像 Microsoft 的工具一样。

    【讨论】:

    • 好吧,我刚刚为一些字符串函数安装了半 GB。现在,我如何让 MinGW 意识到这一点?
    • @AndreKR:不知道。该信息应该在您的开发工具的文档中。或者也许可以在this question的答案中找到。
    • 情况更糟。我的程序不再编译:C:\MinGW\msys\1.0\src\mingwrt/../mingw/main.c:73: undefined reference to WinMain@16
    • @AndreKR:WinMain 不是 Unicode 构建中入口点的正确名称。在这种情况下,该函数被命名为wWinMain。您还可以使用_tWinMain 宏(在tchar.h 中定义)自动选择正确的入口点名称。确保lpCmdLine 参数定义为LPTSTR 类型,以便它与标头中函数的定义相匹配。
    • 嗯,不知何故它再次编译。使用 wWinMain 不起作用,可能是因为 stackoverflow.com/questions/3571250/wwinmain-unicode-and-mingw。至于strsafe.h,还是没有找到。
    猜你喜欢
    • 2012-01-17
    • 1970-01-01
    • 1970-01-01
    • 2011-11-04
    • 2022-11-16
    • 2019-11-06
    • 1970-01-01
    相关资源
    最近更新 更多