代码之家  ›  专栏  ›  技术社区  ›  Ritwik Bose

C中的字符串连接

  •  3
  • Ritwik Bose  · 技术社区  · 14 年前

    如果我想建立一个 const char * 在几个基元类型参数中,是否有一种方法可以使用类似于 printf ?

    2 回复  |  直到 14 年前
        1
  •  8
  •   Nick Presta    14 年前

    你可能在找 snprintf .

    int snprintf(char *str, size_t size, const char *format, ...);

    一个简单的例子:

    char buffer[100];
    int value = 42;
    int nchars = snprintf(buffer, 100, "The answer is %d", value);
    printf("%s\n", buffer);
    /* outputs: The answer is 42 */
    

    GNU has an example too .

    只是补充一下,你实际上不需要使用 snprintf -你可以用普通的 sprintf (没有大小参数)但是更难确保 n 字符被写入缓冲区。GNU还有一个很好的功能, asprintf 它将为您分配缓冲区。

        2
  •  2
  •   beta    14 年前

    您可以使用sprintf,它与printf完全相同,但第一个参数是放置字符串的缓冲区。

    例子:

    char buffer[256];
    sprintf(buffer, "Hello, %s!\n", "Beta");
    
    推荐文章