gpt4 book ai didi

c - 将空字符插入 snprintf

转载 作者:太空宇宙 更新时间:2023-11-04 02:57:27 26 4
gpt4 key购买 nike

定义:

  • CHAR_BACKSLASH 定义为 '\\' 或 0x5C

变量:

  • workingDir 是一个 C 字符串
  • myFilePath 是一个 C 字符串

    int len = strlen(workingDir);
    char lastChar = workingDir[len - 1];

下面,myFilePathworkingDir + 反斜杠 + 文字 “myfile.txt” 组成/p>

在三元参数中,如果还没有反斜杠,我会尝试添加一个反斜杠。

    snprintf(myFilePath,
sizeof(myFilePath),
"%s%s%s",
workingDir,
(lastChar == CHAR_BACKSLASH) ? "" : "\\",
"myfile.txt");

如果可能,我想将其更改为这样的内容,但不确定如何更改,因为它需要一个空的单引号字符,我不确定是否允许这样做。

    snprintf(myFilePath,
sizeof(myFilePath),
"%s%c%s",
workingDir,
(lastChar == CHAR_BACKSLASH) ? '' : CHAR_BACKSLASH,
"myfile.txt");

最佳答案

为什么不是这个?那么您就不必担心 '' 是否是 %c 的有效案例。并且 snprintf 少了一个 varg 来处理。

snprintf(myFilePath,
sizeof(myFilePath),
(lastChar == '\\') ? "%s%s" : "%s\\%s"
workingDir,
"myfile.txt");

关于c - 将空字符插入 snprintf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15867818/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com